人脸识别视频
时间: 2023-07-01 17:28:45 浏览: 143
视频人脸识别
以下是一个基于 Python 的人脸识别视频示例,需要使用 `OpenCV` 和 `face_recognition` 库:
```python
import cv2
import face_recognition
# 加载已知人脸图像并将其编码
known_image = face_recognition.load_image_file("known_face.jpg")
known_face_encoding = face_recognition.face_encodings(known_image)[0]
# 初始化摄像头
video_capture = cv2.VideoCapture("test_video.mp4")
while True:
# 从视频中获取一帧图像
ret, frame = video_capture.read()
# 如果无法读取帧,则退出循环
if not ret:
break
# 将图像转换为 RGB 格式
rgb_frame = frame[:, :, ::-1]
# 在图像中查找人脸
face_locations = face_recognition.face_locations(rgb_frame)
face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)
# 逐一检查每个人脸是否与已知人脸匹配
for face_encoding in face_encodings:
# 比较人脸编码和已知人脸编码
matches = face_recognition.compare_faces([known_face_encoding], face_encoding)
# 如果匹配,则在图像中标记人脸
if matches[0]:
top, right, bottom, left = face_locations[0]
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
# 显示图像
cv2.imshow("Video", frame)
# 按 Q 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源并关闭窗口
video_capture.release()
cv2.destroyAllWindows()
```
这个代码片段使用 `face_recognition` 库来比较视频中捕获的人脸图像和已知人脸图像。如果匹配,则在图像中标记人脸。请注意,在使用此代码之前,您必须先安装 `OpenCV` 和 `face_recognition` 库,并准备一个测试视频。
阅读全文