Проблема с CV2 в Windows 10

Я не могу запустить этот код в Python 3.5.2:

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

img = cv2.imread('test.png')
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)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

из-за этой ошибки

Traceback (most recent call last):
  File "E:\python_stuff\head_tracker\still_more_testing.py", line 10, in <module>
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
cv2.error: D:\Build\OpenCV\opencv-3.2.0\modules\objdetect\src\cascadedetect.cpp:1681: error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale

На моей машине нет диска D:\, скрытого диска D:\ тоже нет.

Я пытался указать полный путь к каскаду с помощью '\\' и '/', чтобы избежать escape-символов.

Скажите, пожалуйста, что путь не жестко закодирован в OpenCV.


person vencaslac    schedule 22.04.2017    source источник
comment
Выглядит как дубликат error-215-empty-in-function-detectmultiscale   -  person thewaywewere    schedule 22.04.2017
comment
на самом деле это происходит под python 3.5.2... ни одно из решений, предложенных для 2.7, у меня не сработало   -  person vencaslac    schedule 23.04.2017


Ответы (1)


Если вы уверены, что делаете правильный выбор, попробуйте присвоить адрес переменной и использовать

detector = cv2.CascadeClassifier(path1)
person user10552530    schedule 25.01.2019