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

2 番目の署名にはrejectLevelslevelWeightsがあり、私の理解では、これを使用して信頼を得ることができます。

これは関数の c++ バージョンを反映したものです。しかし、Pythonで変更するためにこれらのパラメーターを渡す方法は私には不明です。たとえば、次のことを試しましたが、変化しませrw

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]]
[] []

誰でも合格する方法を説明できるrのでw、更新されますか?

4

0 に答える 0