python3人脸识别的两种方法

yipeiwu_com6年前Python基础

本文实例为大家分享了python3实现人脸识别的具体代码,供大家参考,具体内容如下

第一种:

import cv2
import numpy as np

filename = 'test1.jpg'
path = r'D:\face'


def detect(filename):
  face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
  face_cascade.load(path + '\haarcascade_frontalface_default.xml')

  img = cv2.imread(filename)
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  faces = face_cascade.detectMultiScale(gray, 1.3, 5)
  for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
  cv2.namedWindow("vikings detected")
  cv2.imshow("vikings detected", img)
  cv2.waitKey(0)


detect(filename)

结果:

第二种 参考贾志刚opencv教程

# -*- coding:utf-8 -*-
import cv2 as cv
import numpy as np

src = cv.imread('test1.jpg')
path = r'D:\face'

def face_detect_demo():
  gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY)

  face_detector = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
  face_detector.load(path + '\haarcascade_frontalface_default.xml')
  faces = face_detector.detectMultiScale(gray,1.3,5)
  for x,y,w,h in faces:
    cv.rectangle(src,(x,y),(x+w,y+h),(0,0,255),2)
  cv.imshow("result",src)

print("--------------python face detect-------------")
cv.namedWindow("input image",0)
cv.namedWindow("result",0)
cv.imshow("input image",src)
face_detect_demo()
cv.waitKey(0)
cv.destroyAllWindows()

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django中间件基础用法详解

前言 django的中间件可以在视图函数执行前执行,比如登陆验证、日志记录等,下面简单说明一下中间件的基础用法,主要为笔者学习时的笔记 1. 在django项目文件夹下创建一个用于存放中...

pandas 数据索引与选取的实现方法

我们对 DataFrame 进行选择,大抵从这三个层次考虑:行列、区域、单元格。 其对应使用的方法如下: 一. 行,列 --> df[] 二. 区域   --...

python每天定时运行某程序代码

思路:利用time函数返回的时间字符串与指定时间字符串做比较,相等的时候执行对应的操作。不知道大家的思路是什么,感觉这样比较耗CPU。。。。 此处设置为15:30:10 输出相应内容,需...

分享15个最受欢迎的Python开源框架

分享15个最受欢迎的Python开源框架

1. Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的...

PyQt 线程类 QThread使用详解

PyQt中的线程类 QtCore.QThread ,使用时继承QThread类 启动界面的线程暂称为UI线程。界面执行命令时都在自己的UI线程中。 如果在UI线程中执行网络连接和数据库操...