python人脸照片识别代码
时间: 2023-07-23 18:11:58 浏览: 50
以下是使用Python的OpenCV库和face_recognition库进行人脸照片识别的示例代码:
```python
import cv2
import face_recognition
# 加载已知人脸的图像和标签
known_face_encodings = []
known_face_labels = []
# 从文件夹中加载已知人脸的图像和标签
for file in os.listdir('known_faces'):
image = face_recognition.load_image_file(os.path.join('known_faces', file))
face_encoding = face_recognition.face_encodings(image)[0]
known_face_encodings.append(face_encoding)
known_face_labels.append(file.split('.')[0])
# 加载需要识别的图像
unknown_image = face_recognition.load_image_file('unknown.jpg')
# 获取需要识别图像中所有人脸的位置和特征向量
face_locations = face_recognition.face_locations(unknown_image)
face_encodings = face_recognition.face_encodings(unknown_image, face_locations)
# 对每个需要识别的人脸进行比对
for face_encoding, face_location in zip(face_encodings, face_locations):
# 尝试匹配已知人脸中的最佳匹配
matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
best_match_index = np.argmin(face_recognition.face_distance(known_face_encodings, face_encoding))
# 如果匹配成功,则在图像上标注人脸并显示标签
if matches[best_match_index]:
label = known_face_labels[best_match_index]
top, right, bottom, left = face_location
cv2.rectangle(unknown_image, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(unknown_image, label, (left, top-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('Result', unknown_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码将已知人脸的图像和标签保存在known_faces文件夹中,需要识别的图像为unknown.jpg。该代码将在unknown.jpg中检测所有人脸,并尝试将每个人脸与known_faces中已知人脸进行比对,如果匹配成功则在图像上标注人脸并显示标签。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)