Python opencv2 人脸识别

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-8
import cv2
def 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值