我的Python是3.5.2 使用到了numpy和OpenCV库和Haar特征检测人脸,特征文件我使用的是http://blog.csdn.NET/yang_xian521/article/details/6973667博客的特征文件(如果有侵权的可以联系我删除)也可以自己写Haar特征级联表
from numpy import *#引入科学计算库
import cv2#引入OpenCV库
face_cascade=cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')#加载Haar特征级联表
img=cv2.imread('my.jpg')#读取本地图片
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#变成基础图片(灰度处理)
faces=face_cascade.detectMultiScale(gray,1.2,3)#识别图片中的人脸对象,返回对象的矩形尺寸(比较基础)
#1.2表示每次图片缩小的比例
#表示每个目标至少检测4次才是真的目标,
for(x,y,w,h) in faces:#循环人识别到的人脸
img2=cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),2)#绘制人脸框
roi_gray=gray[y:y+h,x:x+w]
roi_color=img[y:y+h,x:x+w]
cv2.imshow('img',img)#显示识别后的结果
cv2.waitKey(0)
cv2.destroyAllWindows()#销毁创建的对象
cv2.imwrite('my.head.jpg',img)#改变图片名称保存标识出人脸区域的图片