我正在使用SimpleBlobDetector搜索视频流上的对象。 探测器给了我一些好的候选人,但我需要选择最好的候选人作为找到的对象。但是我从关键点获得的唯一有用信息是坐标,直径和简单数字作为最佳选项的响应。在我的参数上,我将一些东西定义为圆度,阈值,面积和凸度,我想在我的算法上使用这些信息来为自己选择使用权重的最佳关键点。
以下是检测器参数的代码:
params = cv2.SimpleBlobDetector_Params()
params.minThreshold = 100;
params.maxThreshold = 256;
params.filterByArea = True
params.minArea = 130
params.maxArea = 700
params.filterByCircularity = True
params.minCircularity = 0.1
params.filterByConvexity = True
params.minConvexity = 0.7
self.detectionDetector = cv2.SimpleBlobDetector_create(params)
keypoints = self.detectionDetector.detect(processing)
if (len(keypoints) > 0):
bestKeypoint = max(keypoints, key=lambda keypoint: keypoint.response)
我是否必须重新计算所有这些,或者是否有某种方法可以从探测器,关键点或其他东西中检索它??