2017-08-24 123 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