3h精通OpenCV(九)-最简单的人脸检测
【摘要】 0、准备工作右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。import cv2 1、实现源码要进行人脸检测,对于现在的深度学习来说简直是入门级项目了。如果我们使用传统的方法来进行人脸检测,就可以省去寻找数据集、调参以及训练的时间了。faceCascade是我们的人脸分类器,一个写好的分类器文件,虽然很老,但是很有效。关注公...
0、准备工作 |
---|
右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2
导入cv2库。
import cv2
1、实现源码 |
---|
要进行人脸检测,对于现在的深度学习来说简直是入门级项目了。
如果我们使用传统的方法来进行人脸检测,就可以省去寻找数据集、调参以及训练的时间了。
- faceCascade是我们的人脸分类器,一个写好的分类器文件,虽然很老,但是很有效。关注公众号《萌新加油站》,后台回复:==人脸识别==,即可获取。
- img是读取的图像,先通过
cvtColor(img,cv2.COLOR_BGR2GRAY)
转为灰度图像 detectMultiScale()
中的参数是灰度图像,比例因子,还有邻居个数。- 下面围绕面孔创建一个边界框,边界框的两个坐标点可以确定框的位置,然后是bounding box的颜色,最后是线条的厚度。
- 最后就
imshow
显示结果图像,waitKey(0)
让窗口持久保持。
import cv2
faceCascade=cv2.CascadeClassifier("Resources/haarcascade_frontalface_default.xml")
img=cv2.imread("Resources/mm.jpg")
imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=faceCascade.detectMultiScale(imgGray,1.1,4)
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow("Result",img)
cv2.waitKey(0)
2、运行效果 |
---|
可以看到我们霉霉的脸被边界框框起来了,检测的准确率还可以。
当然,我们不仅可以放入图像进行检测,还可以打开摄像头,进行动态的人脸检测,摄像头在第一节就介绍了,感兴趣的小伙伴去尝试尝试吧~
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)