赞
踩
人脸检测是人脸识别的第一步,也就是能够在图像上或视频中找到人脸。本节编程实例实现的功能是从图片中找到并标注人脸。
14.5.1 准备工作
本节利用 Dlib 库 进行人脸检测,因为 Dlib 包含已训练好的人脸识别模型,而且 Dlib 接口文档非常详细,安装非常简单。安装 Dlib 需要先安装 cmake 和 boost ,命令如下所示。
pip install cmake pip install boost |
提示:cmake 版本要与boost版本相匹配,否则会出现编译错误。
安装 Dlib 时要注意版本号与Python 版本号相对应,Python3.6版本与 Dlib 19.8.1版本兼容,根据 Python 版本选择相应版本的 Dlib ,安装 Dlib命令如下所示。
pip install dlib==19.8.1 |
skimage 库的全称是 scikit-image,它提示了很多的图像处理功能,在本节编程实例中还要用到 scikit-image 库操作图像文件, skimage 安装命令如下所示。
pip install -U scikit-image |
提示:用 pip install scikit-image 安装会出错,如上所示加上-U 参数安装,成功率会高一些。
14.5.2 人脸检测程序
Dlib 库对人脸识别的相关功能进行了封装,对于人脸的检测可以应用 Dlib 正面人脸检测器进行识别,本节编程实例的主要功能是从图片中找出人脸并标注出来。样例代码如下所示。
- from skimage import io
- import dlib
- def faceDetetor() :
- facedetector = dlib.get_frontal_face_detector()
- img = io.imread("test1.jpg")
- vwin=dlib.image_window()
- vwin.clear_overlay()
- vwin.set_image(img)
- dets = facedetector(img,1)
- vwin.add_overlay(dets)
- print("供检测出人脸数:{}张".format(len(dets)))
- for k,d in enumerate(dets):
- print("第{}张脸矩形坐标:左:{} 上:{} 右:{} 下:{}".format(k+1,d.left(),d.top(),d.right(),d.bottom()))
- dlib.hit_enter_to_continue()
- faceDetetor()
14.5.2 测试结果-(稍后更新)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。