python+opencv 静态图像人脸检测

这里使用的OpenCV人脸检测的XML文件可以从https://github.com/opencv/opencv/tree/master/data/haarcascades进行下载。
需要将图片转为灰度图片。

import cv2
#要检测图片的路径
filename = r"F:\Python\picture\003.jpg"
def detect(file_name):
   #加载需要的XML文件,用来检测人脸
    face_cascade=cv2.CascadeClassifier(r"F:\Python\opencvStudy\cascades\haarcascade_frontalface_default.xml")
    img = cv2.imread(file_name)
    #转换为灰度图片
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    # 检测器开始检测,第一个参数为上面的灰度图。第二个参数是图像金字塔每次放大缩小的比例,第三个参数为在同一位置出现几次才判定为人脸的位置,返回值为检测到的矩形框列表
    faces = face_cascade.detectMultiScale(gray,1.2,3)
    for (x,y,w,h)in faces:
    	#画出蓝色框
        img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    cv2.imshow("test",img)
    cv2.waitKey()
    cv2.destroyAllWindows()
detect(filename)

效果如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值