上期文章我们分享了TensorFlow手写数字识别的文章TensorFlow手写数字识别,本期我们简单了解一下OpenCV的人脸识别之检测篇,检测是在图片或者视频中识别出人脸
在OpenCV中使用Haar特征检测人脸,那么需要使用OpenCV提供的xml文件(级联表)在haarcascades目录下。这张级联表有一个训练好的AdaBoost训练集。首先要采用样本的Haar特征训练分类器,从而得到一个级联的AdaBoost分类器。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。
当安装好后OpenCV3,有个/haarcascades文件夹,包含了所有OpenCV的人脸检测XML文件。
haarcascade_eye.xml
haarcascade_eye_tree_eyeglasses.xml
haarcascade_frontalcatface.xml
haarcascade_frontalcatface_extended.xml
haarcascade_frontalface_alt.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_frontalface_alt2.xml
haarcascade_frontalface_default.xml
haarcascade_fullbody.xml
haarcascade_lefteye_2splits.xml
haarcascade_licence_plate_rus_16stages.xml
haarcascade_lowerbody.xml
haarcascade_profileface.xml
haarcascade_righteye_2splits.xml
haarcascade_russian_plate_number.xml
haarcascade_smile.xml
haarcascade_upperbody.xml
上述xml分别是人脸不同的部位模型,我们使用如下模型来识别人脸
haarcascade_frontalface_alt.xml
本期分享一下如何使用此模型来识别图片中的人脸
import cv2 导入图片
face = cv2.CascadeClassifier(r'D:Program Files (x86)Anaconda3pkgslibopencv-3.4.1-h875b8b8_3Libraryetchaarcascadeshaarcascade_frontalface_alt.xml') 灰度
faces = face.detectMultiScale(gray)
for (x, y, w, h) in faces: 创建窗口
cv2.imshow('powers_li', img) 暂停窗口
cv2.destroyWindow() 关闭窗口
cv2.destroyAllWindows()
使用OpenCV的自带的模型库检测人脸很容易实现,下期我们分享一下如何从视频中检测到人脸
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除
热门信息
阅读 ()
1 注册微信号怎么注册第二个阅读 ()
2 怎么把照片变成卡通头像阅读 ()
3 手机越充越少电怎么解决