Hello I am trying to create a facial recognition program but I have a peculiar error: here is my code:
import cv2 as cv gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) face_cascade = cv.CascadeClassifier("lbpcascade_frontalface.xml") faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5);
and this error is the output
SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
I have “lbpcascade_frontalface.xml” in the working directory so that shouldn’t be an issue
if it helps when I enter
cv.__version__
I get
'4.0.0'
Advertisement
Answer
New Answer
OpenCV seems to now have a directory dedicated to cascades, they are placed in data
and I am seeing something like this floating around in tutorials now
haar_cascade_face = cv.CascadeClassifier('data/haarcascade/haarcascade_frontalface_default.xml')
You may have to find where data
is on your machine or the above my work. I have not touched this project since I finished it in early 2019.
Bear in mind this only works for frontal face, if you want to use Haar’s Cascade for eyes that is a separate file.
old answer Turns out I didn’t need to download another file and use it because opencv comes with it this little bit of code worked
cv.CascadeClassifier(cv.data.haarcascades + "haarcascade_frontalface_default.xml")