1.Dlib介绍
Dlib是一个开源的高质量的机器学习、图像处理、深度学习、人脸识别 C++/Python库。它封装了很多模块包括:机器学习算法、数值计算算法、图形模型推理算法、图像处理等。dlib在image Processing 模块中定义了基于方向梯度直方图(Histogram of Oriented Gradient,HOG)特征和图像金字塔的多尺度目标检测方法。更多内容参考 官网:http://dlib.net/
这里简单说一下安装dlib的问题吧,我装的时候直接用 pip install dlib 没装好,然后去https://github.com/coneypo/Dlib_install 里面下载了一个和自己python配套的.whl文件,然后用 pip install .whl来安装。比如下图就是我安装时候的截图
安装dlib
2.图片中的人脸检测
人脸检测的主要步骤如下:
1.调用dlib.get_frontal_face_detector()生成一个人脸检测器
2.将需要进行人脸检测的图片输入到检测器
3.画出该检测器返回的结果
```
import dlib
import cv2
img= cv2.imread('test.jpg')
rgbImg= cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
detector= dlib.get_frontal_face_detector() # 获得正脸检测器
faces= detector(rgbImg, 1)# 返回检测到的每张脸
for face in faces:
# 用矩形画出检测到的人脸范围
cv2.rectangle(img, (face.left(), face.top()), (face.right(), face.bottom()), (0, 0, 255), 3)
cv2.imshow("face datactor",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
单人待检测的图片
单人人脸检测结果
多人待检测图片
多人检测结果
3.视频中的人脸检测
以视频帧为单位处理,方法如上,今天没找到合适的视频,改天在更。
这是第一次写博客,所以还不熟悉,接下来我会尽量每天多写一点。
I am a slow learner,that's true. But I learn.