简体   繁体   中英

detectMultiScale function missing in opencv 3

The Cascade Classifier gives an error:

  cv2.error: /Users/jenkins/miniconda/1/x64/conda-bld/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp:1639: 
  error: (-215) !empty() in function detectMultiScale()

Code:

imggray=cv2.imread('frame1.jpg',cv2.IMREAD_GRAYSCALE)
imgnew=cv2.equalizeHist(imggray)
print imgnew
# cascade_fn = args.get('--cascade',"../../data/haarcascades/haarcascade_frontalface_default.xml")
face_cascade = cv.CascadeClassifier('./../data/haarcascades/haarcascade_frontalface_default.xml')
print face_cascade
faces = face_cascade.HaarDetectObjects(imgnew)
for (x,y,w,h) in faces:
    cv2.rectangle(imgnew,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray = imggray[y:y+h, x:x+w]
    roi_color = imgnew[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.imwrite('Frame2.jpg',imgnew)

Followed the steps on this blogpost to find functions available in opencv

https://www.pyimagesearch.com/2015/08/31/how-to-find-functions-by-name-in-opencv/

function list

I'm using OpenCV 3.3

>>> cv2.__version__
'3.3.0-dev'
>>> x = cv2.CascadeClassifier()
>>> x.detectMultiScale
<built-in method detectMultiScale of cv2.CascadeClassifier object at 0x7fea612cc0f0>

I do like this:

在此处输入图片说明

Then I get this: 在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM