В настоящее время я работаю над распознаванием лиц с использованием OpenCV. Я закончил тренировку, используя свои позитивные и негативные изображения с помощью каскадного тренажера GUI. Однако, когда я запускаю свой код для проверки на распознавание лиц, работает только первое изображение (только когда для .detectMultiScale установлено значение «серый», 1.01,7), и оно не работает на других изображениях.
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier('classifier/cascade.xml')
img = cv2.imread('p/pic2.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray,1.01,7)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Все мои положительные изображения в оттенках серого, и их размер (600 600). Мои негативные размеры изображения больше, но не в оттенках серого. Есть 80 положительных изображений и 160 отрицательных. Я уверен, что это влияет на результаты.