opencv轮廓提取

img

img

请使用opencv从上图提取得到下图轮廓。若有其他更好方法,也可以提出来。

问题扩展:
我上面给出的问题可能有点太局限了。
问题可以想象成,每个条状区域是一根线缆的外轮廓,现在假如有很多线缆堆叠在一起,我要提取所有线缆所叠加形成的区域的外轮廓和内轮廓。

可用外轮廓加内轮廓来实现需提取的效果:img = cv2.drawContours(color_img, contours, 0, (255, 0, 0), 2)
img = cv2.drawContours(color_img, contours, 9, (255, 0, 0), 2)

cv2.findContours,然后遍历轮廓就可以搞定了

用findcontours函数,参数2设置只取外部轮廓cv2.RETR_EXTERNAL,然后drawcontours画出轮廓就可以了