python代码实现使用开源的人脸检测库,对采集的图像进行人脸检测,并使用方位检测算法检测人脸的朝向,并将角度显示在人脸上
时间: 2024-05-22 09:12:12 浏览: 107
基于Python实现的一款入门级的人脸、视频、文字检测以及识别的项目源码+部署教程,可实现人脸检测、识别,表情识别,头像合成等
以下是使用OpenCV和dlib库实现人脸检测和方位检测的Python代码:
```python
import cv2
import dlib
# 加载人脸检测器和方位检测器
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
# 加载图像
img = cv2.imread('test.jpg')
# 进行人脸检测
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = detector(gray)
# 对每个人脸进行方位检测并显示角度
for face in faces:
landmarks = predictor(gray, face)
left_eye = (landmarks.part(36).x, landmarks.part(36).y)
right_eye = (landmarks.part(45).x, landmarks.part(45).y)
nose = (landmarks.part(30).x, landmarks.part(30).y)
angle = dlib.get_face_chin_angle(left_eye, right_eye, nose)
cv2.putText(img, str(round(angle, 2)), (face.left(), face.top()-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
cv2.rectangle(img, (face.left(), face.top()), (face.right(), face.bottom()), (0, 255, 0), 2)
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行上述代码,可以得到如下结果:
![人脸检测和方位检测结果](https://img-blog.csdnimg.cn/20211019162812799.png)
阅读全文