面部识别python
时间: 2023-10-15 15:22:45 浏览: 157
对于面部识别的Python应用,您可以使用开源库dlib和OpenCV。以下是一个简单的示例代码,展示如何使用dlib和OpenCV进行面部识别:
```python
import dlib
import cv2
# 加载dlib的人脸检测器
detector = dlib.get_frontal_face_detector()
# 加载dlib的人脸关键点检测器
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
# 加载OpenCV的摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头图像帧
ret, frame = cap.read()
# 将摄像头图像帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 使用人脸检测器检测人脸
faces = detector(gray)
for face in faces:
# 使用人脸关键点检测器检测人脸关键点
landmarks = predictor(gray, face)
# 在图像上绘制人脸矩形框
x1 = face.left()
y1 = face.top()
x2 = face.right()
y2 = face.bottom()
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
# 在图像上绘制人脸关键点
for n in range(68):
x = landmarks.part(n).x
y = landmarks.part(n).y
cv2.circle(frame, (x, y), 2, (0, 0, 255), -1)
# 显示处理后的图像帧
cv2.imshow('Face Recognition', frame)
# 按下ESC键退出程序
if cv2.waitKey(1) == 27:
break
# 释放摄像头和窗口资源
cap.release()
cv2.destroyAllWindows()
```
请注意,上述代码中使用的dlib的人脸关键点检测器需要预先下载并提供 `shape_predictor_68_face_landmarks.dat` 文件。
阅读全文