我遇到了简单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)
答案 0 :(得分:0)
您的参数不足。搜索任何东西绝不是一个好主意。您应该始终添加尽可能多的约束。
我建议您添加更多参数。我通过添加100000的maxArea
找到了你的砖头。
最小面积为500对我来说并没有太大的意义,因为最小的乐高积木部分将远远超过这个范围。