一、dlib库简单描述
dlib是一个开源的C++库,提供了许多机器学习、图像处理和数据挖掘算法。它包含了大量的工具,可用于创建各种应用,如人脸识别、行人检测、特征检测和跟踪等。
dlib的一个优势是其提供的算法在性能上优于其他类似库。
二、代码实现
重要函数:dlib.cnn_face_detection_model_v1()
dlib库中用来读取模型的函数
代码
读取的人脸检测模型,GitHub可以搜到,都是别人训练好的
import cv2
import dlib
# 使用dlib库函数读取神经网络模型
detect = dlib.cnn_face_detection_model_v1('./mmod_human_face_detector.dat')
# 与opencv结合,读取图片
image = cv2.imread('./marvel.jpg')
faces = detect(image, 1) # 检测人脸
for face in faces:
# 计算每个人脸的位置
rect = face.rect # 获取人脸的位置坐标
x1 = rect.left() # 左上角x坐标
y1 = rect.top() # 左上角y坐标
x2 = rect.right() # 右下角x坐标
y2 = rect.bottom() # 右下角y坐标
# 绘制人脸对应的矩形框
cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)
# 展示图片
cv2.imshow('image', image)
cv2.waitKey(0)
# 运行完之后,关闭所有窗口
cv2.destroy

本文介绍了dlib库,一个包含高性能机器学习和图像处理算法的C++库,重点展示了如何使用dlib.cnn_face_detection_model_v1进行人脸检测,并通过代码实例演示了模型在实际应用中的操作。
最低0.47元/天 解锁文章
646

被折叠的 条评论
为什么被折叠?



