Dlib
一些关于dlib的介绍
在这里主要实现一下人脸检测,dlib人脸检测主要是基于HOG-SVM,与opencv人脸检测【之前写的博客】的人脸检测有区别,相比之下,dlib识别精度更高,在微小遮挡的情况下也能识别。(不过也要具体情况具体分析,某些人脸反而opencv能检测出来)但是dlib人脸识别的图片大小最好大于80X80,才会有比较好的识别效果。另外,dlib还能进行一个68个关键点的定位。
如果想要更高的识别精度,因为我之前做实验识别的数据都是单人头像,所以我直接简单粗暴的把这两个结合在一起了。写个if else哈哈哈哈哈
不过话说,安装dlib库还真麻烦,需要另外下载好多其他库,还要下载个VS。我记得我安装找了好多教程,废了点功夫才装好。
实现:
import dlib
import cv2
# 使用 Dlib 的正面人脸检测器 frontal_face_detector
detector = dlib.get_frontal_face_detector()
# 图片所在路径
img = cv2.imread(r'C:\Users\lenovo\Desktop\0.jpg')
# img = cv2.resize(img,(64,64))
# img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
# 生成 Dlib 的图像窗口
# win = dlib.image_window()
# win.set_image(img)
# 使用detector检测器来检测图像中的人脸
# dlib.pyramid_up(img)
faces = detector(img, 1)
if len(faces) >= 1:
print("人脸数 / faces in all:", len(faces))
for i, d in enumerate