请编写人脸识别出来后与已入库人脸数据比对的人脸检测代码
时间: 2024-03-16 19:43:13 浏览: 22
好的,以下是一个简单的 Python 人脸识别与已入库人脸数据比对的代码示例:
```python
import cv2
import numpy as np
# 加载已入库的人脸数据
known_face_encodings = np.load('known_face_encodings.npy')
known_face_names = np.load('known_face_names.npy')
# 加载人脸识别分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 加载图像
img = cv2.imread('test.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 识别图像中的人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 对每个人脸进行比对
for (x, y, w, h) in faces:
# 提取人脸特征
face_encoding = face_recognition.face_encodings(img, [(y, x+w, y+h, x)])[0]
# 比对已入库的人脸数据
matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
name = "Unknown"
# 找到与当前人脸最匹配的已入库人脸
face_distances = face_recognition.face_distance(known_face_encodings, face_encoding)
best_match_index = np.argmin(face_distances)
if matches[best_match_index]:
name = known_face_names[best_match_index]
# 在人脸位置绘制矩形框和标签
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(img, name, (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
# 显示结果
cv2.imshow('img', img)
cv2.waitKey()
cv2.destroyAllWindows()
```
这段代码使用 face_recognition 库实现了一个人脸识别程序,它加载了已入库的人脸数据和一个人脸识别分类器(`haarcascade_frontalface_default.xml`),然后识别图像中的人脸并将其与已入库人脸数据比对,最后在人脸位置绘制矩形框和标签。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.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)