В настоящее время я использую OpenCV и пытаюсь самостоятельно распознавать лица.
Я посмотрел несколько видео на YouTube и, наконец, записал их в код, но каждый раз, когда я запускаю программу, она всегда показывает
print(labels[id_])
KeyError: 1
Я искал, как решить проблемы с Keyerror в течение нескольких дней, но не могу найти ответ.
вот код
labels = {"person_name": 1}
with open("labels.pickle", 'rb') as f:
og_labels = pickle.load(f)
labels = {v: k for k, v in og_labels.items()}
cap = cv2.VideoCapture(0)
while (True):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)
for (x, y, w, h) in faces:
id_,conf = recognizer.predict(roi_gray)
if conf >= 4 and conf <= 85:
if id_ == 1:
print(id_)
print(labels[id_])
Я не знаюесли это проблема здесь, потому что у меня есть файл с обучением лица (могу запустить).Если с приведенным выше кодом нет проблем, я думаю, что это должна быть проблема с обучением.Я могу предоставить больше кода.Конечно, если у вас есть похожие видео, вы также можете порекомендовать их мне.