java 社群检测_图片人脸检测——Dlib版(四)

本文介绍了如何使用Dlib库进行更精准的图片人脸检测,与OpenCV对比,Dlib在识别精度上有优势,尤其在检测脸部68个特征点方面。详细步骤包括Dlib的安装、训练模型的下载及代码实现,通过代码展示了如何检测并标记人脸关键点。
摘要由CSDN通过智能技术生成

上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。

往期目录

dlib与OpenCV对比

识别精准度:Dlib >= OpenCV

Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点

效果展示

3d16f84606100d74e223d0d2dbf29838.png

人脸的68个特征点

c8a91410c37d5db8550af3eadc3b5f89.png

安装dlib

Window 10 + Python 3.6.4

我现在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl

使用命令安装:

pip3 install D:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl

显示结果: Processing d:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1

为安装成功。

下载训练模型

训练模型用于是人脸识别的关键,用于查找图片的关键点。

下载文件:shape_predictor_68_face_landmarks.dat.bz2

当然你也可以训练自己的人脸关键点模型,这个功能会放在后面讲。

下载好的模型文件,我的存放地址是:C:\Python36\Lib\site-packages\dlib-data\shape_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:\\Python36\\Lib\\site-packages\\dlib-data\\shape_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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值