作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是我对 HaarCascade 的实现,我在其中训练了自己的分类器。
import cv2
import numpy as np
body_classifier = cv2.CascadeClassifier('C:\\Users\\Nemi\\MasteringComputerVision_V1.00\\Haarcascades\\trainedHuman.xml')
image = cv2.imread("twn2.jpg")
#####HEREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
bodies,rejectLevels, levelWeights = body_classifier.detectMultiScale3(
image,
scaleFactor=1.1,
minNeighbors=20,
minSize=(24, 24),
maxSize=(96,96),
flags = cv2.CASCADE_SCALE_IMAGE,
outputRejectLevels = True
)
print(rejectLevels)
print(levelWeights)
i = 0
font = cv2.FONT_ITALIC
for (x,y,w,h) in bodies:
cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,255),2)
font = cv2.FONT_HERSHEY_SIMPLEX
#cv2.putText(image,str(i)+str(":")+str(np.log(levelWeights[i][0])),(x,y), font,0.5,(255,255,255),2,cv2.LINE_AA)
cv2.putText(image,str(levelWeights[i][0]),(x,y), font,0.5,(255,255,255),2,cv2.LINE_AA)
i = i+1
cv2.imshow("Detection",image)
cv2.waitKey(0)
cv2.destroyAllWindows()
我想知道这个levelWeights是什么意思,为什么这个值这么小?如果这个 levelWeights 可以以检测窗口置信度的形式使用,我应该怎么做?
最佳答案
levelWights
返回某个阶段的置信度。在您的情况下,i
是检测到的对象,0
表示第一阶段。它非常小,可能是因为对象距离太远,并且分类器最初被训练为捕获更大尺寸的对象。
关于c++ - opencv detectMultiScale3 中的 levelWeights 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48974978/
我想知道 OpenCV detectMultiScale3 中的 levelWeights 变量返回的值的范围,以便我可以了解检测的置信度。什么是最小值和最大值?用作检测截止值的良好水平是多少? im
这是我对 HaarCascade 的实现,我在其中训练了自己的分类器。 import cv2 import numpy as np body_classifier = cv2.CascadeClass
我是一名优秀的程序员,十分优秀!