Распознавание лиц с помощью OpenCV и - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь определить лицо с помощью Python OpenCV lib. Я видел код из Интернета, но по какой-то причине я всегда получаю одну и ту же ошибку. Мои haarcascades, .py и мои image находятся в одной папке с именем FaceDetection. Это строка ошибки и ошибки:

faces = frontal_face_cascade.detectMultiScale(gray, 1.3, 5)

cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

Я пробовал разные подходы, которые я видел на этом сайте, но всегда получаю одну и ту же ошибку. Что я делаю не так?

import numpy as np
import cv2

# multiple cascades: https://github.com/Itseez/opencv/tree/master/data/haarcascades
# loading cascades for detection

frontal_face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# I have also tried this: r'C:\Users\Pc\Desktop\FaceDetection\haarcascade_frontalface_default.xml'

print(frontal_face_cascade)

my_image = r'C:\Users\Pc\Desktop\FaceDetection\barcelona.jpg'

img = cv2.imread(my_image, 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

print(gray)
cv2.imshow('img',img)

faces = frontal_face_cascade.detectMultiScale(gray, 1.3, 5)
print(faces)
for (x,y,w,h) in faces:

    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

cv2.imshow('img',img)

1 Ответ

0 голосов
/ 13 октября 2019

Ошибка означает, что ваш CascadeClassifier неправильно создан. print(frontal_face_cascade) всегда будет печатать объект CascadeClassifier, вместо этого используйте:

frontal_face_cascade.empty()

Если это возвращает true, либо
1- Ваш путь к XML-файлу неверен.
2- Ваш XML-файлневерный
3- По какой-то причине не удалось загрузить XML-файл?

Если вы уверены, что файл и путь указаны правильно, попробуйте загрузить его снова с помощью:

frontal_face_cascade.load('haarcascade_frontalface_default.xml')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...