配置环境:win7+python3.6.5
先安装opencv-python和opencv-contrib-python
注意:之前电脑里下载的opencv是最新版,但是运行人脸识别代码报错,后来查到是没有安装opencv-contrib-python,结果安装后又报错,最后才知道3.4.4版本后面的好像申请专利保护了,所以请下载之前的版本。
cmd:
pip install opencv-contrib-python==3.4.2.16
pip install opencv-python==3.4.2.16
代码如下:
import cv2
# 人脸识别
filename='01.jpg'
# 获取人脸实例训练数据
face_cascade=cv2.CascadeClassifier('D:\\python3.6.5\\Lib\\site-packages\\cv2\\data\\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:
cv2.rectangle(img,(x,y),(x+w,y+w),(0,255,0),2)
# 显示图像中人脸
cv2.namedWindow('face')
cv2.imshow('face',img)
cv2.imwrite('face.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
在获取人脸实例训练数据时,我直接在安装python里的lib包下找到的XML,也可以把要识别的图片和haarcascade_frontalface_default.xml 文件放在同一个路径下。训练数据地址
运行结果: