Video çerçevelerindeki elleri algılamak için eğitimli bir opencv kaset sınıflandırıcısı kullanıyorum ve yanlış pozitif oranımı düşürmek istiyorum. Ağda okuma, bunu algıladı, algıladıMultiScale yöntemi tarafından döndürülen rejectLevels
ve levelWeights
bilgileri. C++ 'da bunun mümkün olduğunu düşündüğüm here'u gördüm, sorum var - Python'da bunu yapmayı başaran biri var mı? Benzer bir soru here sorulmuştur, ancak bu, algılama yönteminin önceki bir sürümü içindi.OpenCV'deki detectMultiscale öğesinin güven düzeyini Python ile mi edinin?
Mümkünse, yöntemi çağırmak için uygun sözdizimi nedir? Sizin için işe yaradıysa, lütfen kullandığınız OpenCV sürümünü belirtin. 2.4.9’dayım.
2.4.11 API ben
import cv2
import cv2.cv as cv
import time
hand_cascade = cv2.CascadeClassifier('cascade.xml')
img = cv2.imread('test.jpg')
rejectLevels = []
levelWeights = []
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = hand_cascade.detectMultiScale(gray,rejectLevels,levelWeights, 1.1, 5,cv.CV_HAAR_FIND_BIGGEST_OBJECT,(30, 30),(100,100),True)
denedim Yani buna göre aşağıdaki sözdizimini bir
Python: cv2.CascadeClassifier.detectMultiScale(image, rejectLevels, levelWeights[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize[, outputRejectLevels]]]]]])
verir Ama olsun çıkış için
[[259 101 43 43]
[354 217 43 43]
[240 189 43 43]
[316 182 47 47]
[277 139 92 92]]
[]
[]
sayesinde olduğunu yardım,
Ronen
detectMultiScale3 benim için çalışmadı. detectMultiScale2, ikinci varyasyon olarak yoğunlukları (veya güven) döndürür. – thecheech