lib.get_frontal_face_datector(PythonFunction,in Classes)
in Classes 表示采样(upsample)次数,次数越多获取的人脸越多,但更容易框错。
返回值是
可以通过函数的left,right,top,bottom方法分别获取对应的值
import dlib
import cv2
# cv2读取图片
img = cv2.imread("image.jpg")
# 灰度处理
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用dlib自带的frontal_face_detector作为人脸检测器
detector = dlib.get_frontal_face_detector()
# 使用detector进行人脸检测 dets为返回的结果
dets = detector(gray_img, 1)
# 使用enumerate 函数遍历序列中的元素以及它们的下标,下标i为人脸序号
# left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离;top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离
for i, d in enumerate(dets):
print("dets{}".format(d))
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
i, d.left(), d.top(), d.right(), d.bottom()))