我在http://www.learnopencv.com/blob-detection-using-opencv-python-c/关注本教程,使用SimpleBlobDetector http://docs.opencv.org/master/d0/d7a/classcv_1_1SimpleBlobDetector.html
检测blob从我获得的所有斑点中,我如何保持最好的斑点?即最符合圆圈的斑点。 blob探测器的输出是关键点,响应作为其属性,但我不认为它在blob探测器中被使用。
我希望我能得到一些帮助。与此同时,我将阅读blob探测器的源代码,并希望能够找出编辑的内容/位置以获得我想要的内容。感谢。
答案 0 :(得分:0)
在python中:
params = cv2.SimpleBlobDetector_Params()
# Filter by Circularity
params.filterByCircularity = True
params.minCircularity = 0.1
detector = cv2.SimpleBlobDetector_create(params)
在C ++中
// Setup SimpleBlobDetector parameters.
SimpleBlobDetector::Params params;
// Filter by Circularity
params.filterByCircularity = true;
params.minCircularity = 0.1;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(params);
在向量keypoints
中,与圆最相似的那个将是最后一个,因为圆的圆度是1而其他形状具有圆度&lt; 1
您将找到完整的教程here。 这个,顺便说一下,就是你正在看的页面......继续向下滚动......