找到植物根的轮廓

时间:2018-06-15 22:20:17

标签: python opencv edge-detection opencv-contour

我有一个像这样的根的图像: enter image description here

我想单独裁剪每个根。 我最初想到的是重度膨胀,然后是斑点的侵蚀和轮廓检测,但由于根很薄,所以效果不好。

我也直接应用canny边缘和轮廓检测,如下图所示。它有大约62000个轮廓,但我无法使用它来获取每个根的轮廓。 after canny and contour detection on above image

我还使用HSV对图像进行阈值处理,然后进行一些中值模糊处理。但它没有减少太多的噪音。进一步模糊只会导致失去根功能。

enter image description here

有人能建议我更好地解决这个问题吗?基于机器学习的方法会更好吗?感谢

2 个答案:

答案 0 :(得分:0)

使用Cv2.BoundingRect(),它会获得轮廓的矩形区域。您也可以使用MedianFilter来消除图片中的“盐和胡椒”噪音。

答案 1 :(得分:0)

第一步检测大根,用户选择或大侵蚀。 基于先前大区域中心坐标的第二步,在此原始阈值图像上制作填充算法(如油漆中的油漆桶工具)