简单的斑点检测器无法检测到大斑点

时间:2019-03-18 02:34:59

标签: python opencv computer-vision

我遇到了简单Blob检测器无法检测到大于300的Blob的问题。

我有这张图片,里面有一个乐高积木,但是无论我给它什么区域,它都无法检测到。有任何想法吗?我正在尝试获取乐高玩具的颜色,但我想过滤掉其他所有东西

params = cv2.SimpleBlobDetector_Params()
params.filterByArea = True
params.minArea = 500 # Tried using from 300 - 3000 and can't get a detection
params.filterByCircularity = False
params.filterByColor = False
params.filterByConvexity = False
params.filterByInertia = False
detector = cv2.SimpleBlobDetector_create(params)
keypoints = detector.detect(img)

Won't detect the block

1 个答案:

答案 0 :(得分:0)

您的参数不足。搜索任何东西绝不是一个好主意。您应该始终添加尽可能多的约束。

我建议您添加更多参数。我通过添加100000的maxArea找到了你的砖头。

最小面积为500对我来说并没有太大的意义,因为最小的乐高积木部分将远远超过这个范围。