使用MATLAB分隔图像中的两个重叠圆

问题描述 投票:5回答:3

如何使用MATLAB分隔下图中的两个相连的圆圈?我曾尝试使用imerode,但这不能给出良好的结果。腐蚀是行不通的,因为为了腐蚀到足以使圆分开,线会消失或被扭曲。在其他起始图片中,圆和直线重叠,因此隔离重叠的对象也不起作用。

图像显示了由bwboundaries标识的对象,每个对象都绘制了不同的颜色。如您所见,两个浅蓝色的圆圈相连,我想将它们分开,产生两个单独的圆圈。谢谢

matlab image-processing image-segmentation
3个回答
4
投票

我建议您通过imfindcircles使用环形霍夫变换。但是,您需要图像处理工具箱的版本8,该版本可从版本R2012a及更高版本获得。如果您没有此功能,那么不幸的是,它将无法正常工作:(...,但我们假设您确实拥有它。但是,如果您使用的是R2012a之前的产品,Dev-iL会在他/她的手中上面的评论与MATLAB的文件交换上的某些实现相关的代码链接,此代码很可能是在使用环形霍夫变换之前创建的:imfindcircles


-1
投票

侵蚀是要走的路。您可能应该使用更大的结构元素。


-1
投票

怎么样

© www.soinside.com 2019 - 2024. All rights reserved.