我在http://www.learnopencv.com/blob-detection-using-opencv-python-c/上使用SimpleBlobDetector来检测blob http://docs.opencv.org/master/d0/d7a/classcv_1_1SimpleBlobDetector.html
从我获得的所有blob中,我如何保留最好的blob ?也就是最像圆的斑点。blob检测器的输出是将响应作为其属性的关键点,但我认为blob检测器中没有使用它。
我希望我能在这方面得到一些帮助。与此同时,我将阅读blob检测器的源代码,并希望能够弄清楚编辑什么/在哪里得到我想要的。谢谢。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,而其他形状的圆度为<1
你可以在这里找到一个完整的教程。顺便说一句,这是你正在看的同一页…