人脸关键点检测 代码
时间: 2023-08-03 16:08:03 浏览: 101
当然可以!以下是一个简单的人脸关键点检测的代码示例,使用了OpenCV和dlib库:
```python
import cv2
import dlib
# 加载模型
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
# 加载图像
image = cv2.imread("face.jpg")
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 人脸检测
faces = detector(gray)
for face in faces:
# 关键点检测
landmarks = predictor(gray, face)
for n in range(0, 68):
x = landmarks.part(n).x
y = landmarks.part(n).y
# 绘制关键点
cv2.circle(image, (x, y), 2, (0, 255, 0), -1)
# 显示结果
cv2.imshow("Facial Landmarks", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先加载了dlib的人脸检测器和关键点预测器模型。然后,我们加载待检测的图像并将其转换为灰度图像。接下来,我们使用人脸检测器检测图像中的人脸,并使用关键点预测器获取每个人脸的关键点坐标。最后,我们在图像上绘制出这些关键点,并显示结果。
请注意,你需要提前下载dlib的关键点预测器模型文件(shape_predictor_68_face_landmarks.dat),并将其放在与代码文件相同的目录下。
希望这个示例能够帮助到你!如果有任何问题,请随时问我。
阅读全文