【发布时间】:2016-07-11 23:59:58
【问题描述】:
我正在尝试在下图中检测到圆圈。
所以我做了颜色阈值处理,最后得到了这个结果。
因为中心的线被去掉了,圆被分割成很多小部分,所以如果我在这个上面做轮廓检测,只能分别给我每个轮廓。
但是有没有一种方法可以以某种方式将轮廓组合起来,这样我就可以得到一个圆而不仅仅是它的一部分?
这是我的颜色阈值代码:
blurred = cv2.GaussianBlur(img, (9,9), 9)
ORANGE_MIN = np.array((12, 182, 221),np.uint8)
ORANGE_MAX = np.array((16, 227, 255),np.uint8)
hsv_disk = cv2.cvtColor(blurred,cv2.COLOR_BGR2HSV)
disk_threshed = cv2.inRange(hsv_disk, ORANGE_MIN, ORANGE_MAX)
【问题讨论】:
-
我会尝试对边缘像素进行霍夫变换。可能需要找到一个椭圆体,因为这不是一个真正的圆。
标签: python opencv matplotlib computer-vision edge-detection