我在http://www.learnopencv.com/blob-detection-using-opencv-python-c/上学习本教程,以使用SimpleBlobDetector http://docs.opencv.org/master/d0/d7a/classcv_1_1SimpleBlobDetector.html检测blobs
从我获得的所有斑点中,我如何保持最好的斑点?即最像圆圈的斑点。斑点检测器的输出是以响应作为其属性的关键点,但我不认为它在斑点检测器中被利用。
我希望我能在这方面得到一些帮助。在此期间,我将阅读斑点检测器的源代码,希望能够找出编辑什么/在哪里获得我想要的东西。谢谢。
发布于 2015-07-07 20:50:58
在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
你会发现一个完整的教程here。顺便说一句,这是你正在看的同一页...继续向下滚动。
https://stackoverflow.com/questions/31268743
复制相似问题