Python中的OpenCV人脸识别
如链接中所示,人脸识别在C++中可用,有许多不同的算法。但是,当我尝试用Python创建一个类似于Python中的OpenCV人脸识别,python,opencv,Python,Opencv,如链接中所示,人脸识别在C++中可用,有许多不同的算法。但是,当我尝试用Python创建一个类似于recognizer=cv2.createLBPHFaceRecognizer()的识别器时,它似乎不存在。Python中是否存在人脸识别器模块,如果存在,如何使用它?谢谢。如果有人仍然有这个问题,诀窍是使用opencv2而不是opencv3。这是因为在新版本中,面部模块已移动到opencv contrib。如果您愿意,可以用它编译opencv3,但我无法让它工作。您可以看到我使用python进行人
recognizer=cv2.createLBPHFaceRecognizer()
的识别器时,它似乎不存在。Python中是否存在人脸识别器模块,如果存在,如何使用它?谢谢。如果有人仍然有这个问题,诀窍是使用opencv2而不是opencv3。这是因为在新版本中,面部模块已移动到opencv contrib。如果您愿意,可以用它编译opencv3,但我无法让它工作。您可以看到我使用python进行人脸识别的完整代码。您还必须做一件事,在python文件所在的目录中,您还必须放置培训图像。同时安装人脸识别模块
import numpy as np
import face_recognition as fr
import cv2
video_capture = cv2.VideoCapture(0)
image = fr.load_image_file("me.jpg")
image_encoding = fr.face_encodings(image)[0]
known_face_encodings = [image_encoding]
known_face_names = ["Me"]
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = fr.face_locations(rgb_frame)
face_encodings = fr.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = fr.compare_faces(known_face_encodings, face_encoding)
name = "Random Person"
face_distances = fr.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(frame, (left, top), (right, bottom), (0, 0, 255), 2)
cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(frame, name, (left+6, bottom-6), font, 1.0, (255, 255, 255), 1)
cv2.imshow("Face Recognition", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()
为什么要投反对票-(请看一看具有python集成的Indio API: