图片人脸检测——Dlib版(四)
上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。 往期目录视频人脸检测——Dlib版(六) ? dlib与OpenCV对比识别精准度:Dlib >= OpenCV Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点 效果展示人脸的68个特征点 安装dlib下载地址:https://pypi.org/simple/dlib/?选择适合你的版本,本人配置:
我现在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl 使用命令安装:
显示结果: Processing d:softpydlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1 为安装成功。 下载训练模型训练模型用于是人脸识别的关键,用于查找图片的关键点。 下载地址:http://dlib.net/files/ 下载文件:shape_predictor_68_face_landmarks.dat.bz2 当然你也可以训练自己的人脸关键点模型,这个功能会放在后面讲。 下载好的模型文件,我的存放地址是:C:Python36Libsite-packagesdlib-datashape_predictor_68_face_landmarks.dat.bz2 解压:shape_predictor_68_face_landmarks.dat.bz2得到文件:shape_predictor_68_face_landmarks.dat 代码实现#coding=utf-8
import cv2
import dlib
path = "img/meinv.png"
img = cv2.imread(path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#人脸分类器
detector = dlib.get_frontal_face_detector()
# 获取人脸检测器
predictor = dlib.shape_predictor(
"C:Python36Libsite-packagesdlib-datashape_predictor_68_face_landmarks.dat"
)
dets = detector(gray,1)
for face in dets:
shape = predictor(img,face) # 寻找人脸的68个标定点
# 遍历所有点,打印出其坐标,并圈出来
for pt in shape.parts():
pt_pos = (pt.x,pt.y)
cv2.circle(img,pt_pos,2,(0,255,0),1)
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
? ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |