2016-02-28 38 views
0

我有一张图片在下面,我正在使用,我想知道是否有可能连接像附图所示的中心对象中显示的圆圈。圆形向底部折断,我想连接这两个端点,而不填充图像(如使用imclose),因为我也需要内部圆的边缘。在matlab中的二进制图像连接破碎的圆圈?

我希望你明白我在问什么。谢谢。

Broken Circles in MATLAB

回答

0

我不知道如果这是你想要的。但通过此代码,您可以获得圆圈的轮廓。我使用了函数imfindcircles。

circles = imread('circles.jpg'); 
BW1 = bwmorph(im2bw(rgb),'close'); 
figure, imshow(BW1); 
[centers,radii] = imfindcircles(BW1,[20 40]); 
figure, imshow(BW1); 
hold on 
viscircles(centers, radii,'EdgeColor','b');