You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用OpenCV的detectMultiScale()函数时出现Bad Argument错误求助

解决OpenCV detectMultiScale()的Bad Argument错误

你的问题核心是参数拼写错误,报错信息已明确提示:'minNeighbours' is an invalid keyword argument,原因是OpenCV的detectMultiScale()参数采用美式英语拼写,正确参数名是minNeighbors(去掉中间的字母u),而非英式拼写的minNeighbours。

修正后的代码

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')
# 修正参数拼写:minNeighbours → minNeighbors
faces_rect=haar_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=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)

补充说明

  • 该错误与detectMultiScale()函数可用性无关,无需重装OpenCV
  • OpenCV的Python接口参数命名普遍遵循美式英语规则,遇到参数错误时优先检查拼写是否符合官方规范

内容的提问来源于stack exchange,提问作者Parth Parlikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 11:22:10