Ошибка IndexError: список индексов вне диапазона в Python с OpenCV и распознаванием лица

#python #opencv

#python #opencv

Вопрос:

 import cv2
import numpy as np
import face_recognition
import os

path = 'Images'
images = []
classNames = []
myList = os.listdir(path)
print(myList)
for cl in myList:
    curImg = cv2.imread(f'{path}/{cl}')
    images.append(curImg)
    classNames.append(os.path.splitext(cl)[0])
print(classNames)

def findEncodings(images):
    encodeList = []
    for img in images:
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        encode = face_recognition.face_encodings(img)[0]
        encodeList.append(encode)
    return encodeList

encodeListKnown = findEncodings(images)
print(len(encodeListKnown))
 

я действительно не вижу своей ошибки здесь прямо сейчас…
Консоль выводит меня ->

C:UsersdavutPycharmProjectsQRCodeOpenCVvenvScriptspython.exe C:/Users/davut/PycharmProjects/QRCodeOpenCV/AttendanceProject.py [‘Armagan.jpeg ‘, ‘Bill-Gates.jpg ‘, ‘Elon-Musk.jpg ‘, ‘Elon-Test.jpg ‘, ‘Gizem (1).jpeg’, ‘Muenster.jpg ‘, ‘Oezi.jpeg ‘, ‘Sude.jpeg ‘] [«Армаган», «Билл-Гейтс», «Илон-Маск», «Илон-Test’, ‘Gizem (1)’, ‘Muenster’, ‘Oezi’, ‘Sude’] Трассировка (последний последний вызов): файл «C:/Users/davut/PycharmProjects/QRCodeOpenCV/AttendanceProject.py «, строка 25, в файле encodeListKnown = findEncodings(изображения) «C:/Users/davut/PycharmProjects/QRCodeOpenCV/AttendanceProject.py «, строка 21, в findEncodings encode = face_recognition.face_encodings(img)[0] Ошибка индекса: список индексов вне диапазона

Комментарии:

1. но это тестовые изображения, на которых четко видны лица… В другом проекте я использую тот же метод, и он работает (но без цикла)

Ответ №1:

хорошо, решение заключается в том, чтобы не использовать тестовую фотографию без лица при использовании face_recognition …