4

旧版本的 OpenCV 返回检测到的邻居数量,这可以用作置信度的度量。

例如:

cv.HaarDetectObjects(grayscale, cascade, storage, 1.2, 2,
cv.CV_HAAR_DO_CANNY_PRUNING, (50,50))
[((174, 54, 114, 114), 53)]

新版本的openCV改变了使用的签名,所以现在要么

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

或者

detectMultiScale(image, rejectLevels, levelWeights[, 
scaleFactor[, minNeighbors[, 
flags[, minSize[, maxSize[, outputRejectLevels]]]]]]) -> objects

第二个签名有rejectLevels,据levelWeights我了解,可以用来获得信心。

这是函数的 c++ 版本的反映。但是,我不清楚如何传递这些参数以在 python 中更改。例如,我尝试了以下内容,它不会改变r并且w

r = list()
w = list()
res = cascade2.detectMultiScale(image=img, rejectLevels=r, levelWeights=w)
print res
print r, w

[[ 82 158  53  53]
 [175 157  52  52]
 [103 266 112 112]]
[] []

任何人都可以解释如何通过rw所以他们会更新?

4

0 回答 0