我正在尝试使用函数 detectMultiScale() 但它显示错误参数错误

问题描述 投票:0回答:0
import cv2 as cv
img=cv.imread('photo/goku3.jpg')
cv.imshow('image', img)

gray=cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('gray', gray)

haar_cascade=cv.CascadeClassifier('faces.xml')
faces_rect=haar_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbours=3)
print(f"Number of faces found = {len(faces_rect)}")

for (x,y,w,h) in faces_rect:
    cv.rectangle(img, (x,y), (x+w,y+h), (0,255,0), thickness=2)

cv.imshow('detected face', img)
cv.waitKey(0)
Traceback (most recent call last):
  File "e:\imageRecognitionProj\faceDetect.py", line 9, in <module>
    faces_rect=haar_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbours=3)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'detectMultiScale'
> Overload resolution failed:
>  - 'minNeighbours' is an invalid keyword argument for CascadeClassifier.detectMultiScale()
>  - 'minNeighbours' is an invalid keyword argument for CascadeClassifier.detectMultiScale()

在 haar_cascade 变量中,我用 xml 文件定义了 cascadeClassifier()

我认为函数 detectMultiScale() 不可用。我试图重新安装 open-cv 但它没有用。

python opencv face-detection
© www.soinside.com 2019 - 2024. All rights reserved.