Эта ошибка означает, что XML-файл не мог быть найден. Библиотеке нужны Вы для передачи его полный путь, даже при том, что you’re, вероятно, просто использование файла, который шел с библиотекой OpenCV.
можно использовать встроенное pkg_resources
модуль для автоматического определения этого для Вас. Следующий код ищет полный путь в файл внутри везде, где cv2
модуль был загружен из:
import pkg_resources
haar_xml = pkg_resources.resource_filename(
'cv2', 'data/haarcascade_frontalface_default.xml')
Для меня это было '/Users/andrew/.local/share/virtualenvs/foo-_b9W43ee/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml'
; Ваш, как гарантируют, будет отличаться. Просто позвольте библиотеке python’s pkg_resources
понять это.
classifier = cv2.CascadeClassifier(haar_xml)
faces = classifier.detectMultiScale(frame)
Успех!