Я пытаюсь определить лицо с помощью 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)