在深度学习领域内,人脸检测技术利用卷积神经网络进行监督式学习,而现如今广泛使用的是haar算法。
该算法基于灰度图来判断人脸,简略来说是计算区域内不同像素的灰度差别来判断区域是否是人脸。
本次实验使用opencv自包含的已经训练好的人脸检测haar模型进行简单的人脸检测实现
1.环境
python:3.8
opencv2
Anaconda3
同时在如下目录找到haar模型
复制代码
1Anaconda3Libsite-packagescv2datahaarcascade_frontalface_default.xml
2.代码
导入cv2模块以及测试图片
复制代码
1
2import cv2 img = cv2.imread('human.jpg')
(图片来源网络,侵删)
复制代码
1
2
3
4detector = cv2.CascadeClassifier('E:Anaconda3Libsite-packagescv2datahaarcascade_frontalface_default.xml') face_zone = detector.detectMultiScale(img) for x, y, w, h in face_zone: cv2.rectangle(img, pt1=(x, y), pt2=(x + w, y + h), color=[0, 0, 255])
识别效果如上
复制代码
1
2
3cv2.imshow('human', img) cv2.waitKey(0) cv2.destroyAllWindows()
最后
以上就是殷勤天空最近收集整理的关于基于opencv的简单人脸检测实现的全部内容,更多相关基于opencv内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复