前置准备:
Dlib的人脸检测算法基于HOG(Histogram of Oriented Gradients)特征和级联分类器,能有效描述图像中的形状和纹理信息。
使用代码前首先需要安装dlib库。
按win+r运行cmd窗口,进入python环境。或者在编辑器中点击终端,进入python环境。
直到命令行前显示环境名称后,
输入pip命令:
pip install opencv-python
cv库安装完成后安装dlib库,继续输入:
#dlib库由c++编写,所以需要安装前置库
pip install Cmake
pip install boost
下载Visual Studio,官方网址:https://visualstudio.microsoft.com/zh-hans/downloads/
装好Visual Studio后就可以正式安装dlib库了。
pip install dlib
识别
首先加载dlib库后运用get_frontal_face_detector()得到人脸框坐标,用cv库直接画出取景框。
import cv2 as cv
import dlib
cap=cv.VideoCapture(0)
ret, frame = cap.read()
while ret:
ret, frame = cap.read()
db=dlib.get_frontal_face_detector()
face_img=db(frame,1)
if len(face_img)>0:
for i in face_img:
left, top, right, bottom = i.left(), i.top(), i.right(), i.bottom()
cv.rectangle(frame, (left, top), (right, bottom), [255, 255, 255], 3)
cv.imshow('frame',frame)
if cv.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv.destroyAllWindows()