You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I copied the [Recognize faces in live video using your webcam - Simple / Slower Version to a file changed obama & biden to the faces I want irl and I just get this error (IndexError: list index out of range) but when I use the defaults it works fine....
here is the code that I added my own pictures in
import face_recognition
import cv2
import numpy as np
video_capture = cv2.VideoCapture(2)
#obama_image = face_recognition.load_image_file("obama.jpg")
#obama_face_encoding = face_recognition.face_encodings(obama_image)[0]
MY FACE_image = face_recognition.load_image_file("MY FACE.jpg")
MY FACE_face_encoding = face_recognition.face_encodings(MY FACE_image)[0]
#biden_image = face_recognition.load_image_file("biden.jpg")
#biden_face_encoding = face_recognition.face_encodings(biden_image)[0]
known_face_encodings = [
MY FACE_face_encoding
]
known_face_names = [
"My face"
face_locations = []
face_encodings = []
face_names = []
process_this_frame = True
while True:
ret, frame = video_capture.read()
if process_this_frame:
small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
rgb_small_frame = small_frame[:, :, ::-1]
face_locations = face_recognition.face_locations(rgb_small_frame)
face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)
face_names = []
for face_encoding in face_encodings:
# See if the face is a match for the known face(s)
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]
face_names.append(name)
process_this_frame = not process_this_frame
for (top, right, bottom, left), name in zip(face_locations, face_names):
top *= 4
right *= 4
bottom *= 4
left *= 4
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_DUPLEX
cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()
The text was updated successfully, but these errors were encountered:
you're most probably getting the error while calculating face_encodings - I had the same issue, it got resolved after I removed extra information from my image (metadata). This library seems to not work when your image has metadata.
Description
I copied the [Recognize faces in live video using your webcam - Simple / Slower Version to a file changed obama & biden to the faces I want irl and I just get this error (IndexError: list index out of range) but when I use the defaults it works fine....
here is the code that I added my own pictures in
The text was updated successfully, but these errors were encountered: