обнаружение лица, не обнаружение лица - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь определить лицо, но оно не обнаруживает лица.

это функция, которую я создал для распознавания лиц

def faceDetection(test_img):
     gray_img=cv2.cvtColor(test_img,cv2.COLOR_BGR2GRAY)
     face_haar_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
     # haar classifier
     faces=face_haar_cascade.detectMultiScale(gray_img,scaleFactor=1.32,minNeighbors=5)

     return faces,gray_img

это используется в

test_img=cv2.imread('pic.png')
faces_detected,gray_img=fr.faceDetection(test_img)
print("faces_detected:",faces_detected)


for (x,y,w,h) in faces_detected:
    cv2.rectangle(test_img,(x,y),(x+w,y+h),(255,0,0),thickness=5)

resized_img=cv2.resize(test_img,(500,500))
cv2.imshow("face",resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows

но когда я запускаю этот скрипт, он не показывает обнаруженное лицо просто дайте вывод это

face_detected: ()

и без рамки вокруг изображения

1 Ответ

2 голосов
/ 09 июля 2019

Попробуйте использовать другой каскад Хаара. По умолчанию это haarcascade_frontalface_alt.xml

face_haar_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')

Изменить масштабный коэффициент, который вы используете для каскада. Если это не сработает, вы также можете уменьшить количество соседей до 2.

faces = face_haar_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5);

Проверьте количество найденных лиц

print('Faces found: ', len(faces))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...