2017-08-24 151 views
0

我正在关注对象检测的这个特定的tutorial。 他使用这个版本detectMultiSacle功能在他的代码,这让他可以调整阈值检测或类似的与rejectLevels和levelWeights东西:opencv python detectMultiScale api

的Python:

cv2.CascadeClassifier.detectMultiScale(image, 
rejectLevels, levelWeights[, 
scaleFactor[, minNeighbors[, flags[, 
minSize[, maxSize[, 
outputRejectLevels]]]]]]) → objects 

这是我的代码:

detectMultiScale(image=gray, 
rejectLevels=rejectlevels, 
levelWeights=levelweights) 

但它提供了以下错误,这让我困惑:

TypeError: 'rejectLevels' is an invalid keyword argument for this function 

我试图最初使用detectMultiScale(image, rejectLevels, levelWeights, scaleFactor),但它给了我错误,说第四个参数不能是浮动的,这让我怀疑我没有使用我以为我使用的函数。

我使用pip来安装版本为3.3.0.9的opencv-python。除了这个webpage,我找不到任何python文档。

欣赏一些帮助。像我在哪里可以找到最新的python api的文档,或者有关这个特定功能的一些经验。

+0

使用'help':

例如(不,这是OpenCV的3.1,所以双局部检查)。 –

+0

哇,谢谢,这真的很有用。 – undeadcellphone

+0

没问题。另外检查['dir(...)'](https://docs.python.org/2/library/functions.html#dir) –

回答

0

很难找到OpenCV 3.3的python文档,但OpenCV3.0 docs显示detectMultiScale使用ouputRejectLevels。尝试使用该参数。

下面是它们的击穿:

的Python:cv2.CascadeClassifier.detectMultiScale(图像[,比例因子[,minNeighbors [,标志[,minSize属性[,MAXSIZE]]]]])→对象

的Python:cv2.CascadeClassifier.detectMultiScale2(图像[,比例因子[,minNeighbors [,标志[,minSize属性[,MAXSIZE]]]]])→对象,numDetections

的Python:cv2.CascadeClassifier.detectMultiScale3(图像[,比例因子[,minNeighbors [,flags [,minSize [,maxSize [,outputRejectLevels]]]]]])→objects,rejectL evels,levelWeights

0

虽然最近版本的OpenCV的在线文档没有列出有关Python绑定信息,这是很简单的找到它 - 它嵌入在Python模块中的权利。至少你会得到有关方法的签名。

使用内置help()函数来访问它。在解释

>>> import cv2 
>>> c = cv2.CascadeClassifier() 
>>> help(c.detectMultiScale) 
Help on built-in function detectMultiScale: 

detectMultiScale(...) 
    detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]) -> objects