python 摄像头人脸识别
时间: 2023-09-15 10:21:04 浏览: 136
python调用摄像头进行人脸识别,支持多张人脸同时识别DlibFaceRecognitionFromCamera.zip
5星 · 资源好评率100%
要使用 Python 进行摄像头人脸识别,你可以使用 OpenCV 和 face_recognition 库。
首先,你需要安装这两个库。你可以使用 pip 安装它们:
```
pip install opencv-python
pip install face_recognition
```
接下来,你需要编写 Python 代码来实现摄像头人脸识别。以下是一个简单的示例代码:
```python
import cv2
import face_recognition
# 加载已知人脸照片
known_image = face_recognition.load_image_file("known_face.jpg")
known_encoding = face_recognition.face_encodings(known_image)[0]
# 初始化摄像头
video_capture = cv2.VideoCapture(0)
while True:
# 读取摄像头画面
ret, frame = video_capture.read()
# 检测人脸
face_locations = face_recognition.face_locations(frame)
face_encodings = face_recognition.face_encodings(frame, face_locations)
# 遍历每张识别到的人脸
for face_encoding, face_location in zip(face_encodings, face_locations):
# 比较人脸照片和摄像头画面中的人脸
match = face_recognition.compare_faces([known_encoding], face_encoding)
if match[0]:
# 识别到已知人脸
top, right, bottom, left = face_location
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 库检测人脸,并提取人脸编码。接下来,我们将人脸编码与已知人脸的编码进行比较,并在识别到已知人脸时,在摄像头画面中框出人脸。最后,我们显示摄像头画面,并等待用户按下 q 键退出程序。
你可以根据自己的需求修改代码,并使用更高级的算法来进行人脸识别。
阅读全文