Я пытаюсь изучить cv2 в python 2.7, но когда я выполняю свой код в определенной части его:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
img = cv2.imread('2015-05-27-191152.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
это возвращает это:
File "face_detection.py", line 11, in <module>
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
cv2.error: /home/arthurckl/Desktop/opencv-3.0.0-rc1/modules/objdetect/src/cascadedetect.cpp:1595: error: (-215) !empty() in function detectMultiScale
Я пытался искать ответ здесь, но лучшее, которое я мог найти, - то, что я должен загружать face_cascade неправильный путь... Какая-либо справка?
У меня была та же проблема с opencv-python
, и я использовал виртуальную среду. Если это - Ваш случай, необходимо найти эти xml
файлы в:
/home/username/virtual_environment/lib/python3.5/site-packages/cv2/data/haarcascade_frontalface_default.xml
/home/username/virtual_environment/lib/python3.5/site-packages/cv2/data/haarcascade_eye.xml
быть уверенным, что Вы используете полный путь. Иначе это не будет работать.
никакая потребность изменить код
загрузка, что .xml файл, затем не помести путь того файла
, это решит ошибку (100%)
" \Anaconda3\Lib\site-packages\cv2\data \" я нашел XML-файл в этом пути для Анаконды