Python opencv2 人脸识别

来源:互联网 发布:radio html js 编辑:程序博客网 时间:2024/05/29 09:50

numpy下载1.9.1
http://sourceforge.net/projects/numpy/files/NumPy/1.9.1/
opencv下载2.4.10
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/
Python opencv 教程
http://pan.baidu.com/s/1jG62bhO
group1.jpg在opencv文件夹里opencv\sources\samples\winrt\FaceDetection\FaceDetection\Assets
ha\
haarcascade_frontalface_alt.xml 在opencv\sources\data\haarcascades_cuda\

test.py# coding=utf-8import cv2def identifyFace(image):    #cv2.imread 默认读入彩色图片,cv2.imread(img,0)读入灰度图    img=cv2.imread(image,0)     imgc=cv2.imread(image)    #定义画笔的颜色为蓝色,这个刚好是反的rgb对应的是blue,green,red    color=(255,0,0)    #xml文件保存的是训练集的结果,只要载入结果进行处理就行了    classfy=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")    #直方图均衡化,不太清楚,好像轮廓勾勒出来了    cv2.equalizeHist(img,img)    #重点是这个,虽然我也不是很清楚,但这个可以得到一个列表,也就是数组,人脸的坐标,width,height    faceRects=classfy.detectMultiScale(img,1.2,2, cv2.CASCADE_SCALE_IMAGE,(30,30))    if len(faceRects)>0:        for faceRect in faceRects:            x,y,w,h=faceRect            #cv2.rectangle(img,左上角顶点坐标,右下角顶点坐标,颜色,线条宽度)            cv2.rectangle(imgc,(x,y),(x+w,y+h),color,3)    #cv2.imshow(窗口名称,img)    cv2.imshow("test",imgc)    #等待键盘输入=q,则关闭窗口,保存图片    key=cv2.waitKey(0)    if key == ord('q'):        cv2.destroyAllWindows()        cv2.imwrite("1.jpg",img)if __name__=="__main__":    identifyFace("group1.jpg")

原图
人脸检测后
原图
之后

这里写图片描述

0 0
原创粉丝点击