在matlab中连接二进制图像中的破碎圆圈?

时间:2016-02-28 03:02:44

标签: image matlab image-processing image-segmentation

我在下面有一张我正在使用的图片,我想知道是否可以连接像附图中心对象所示的圆圈。圆圈朝向底部,我想连接这两个端点,而不是填充图像(例如使用imclose),因为我也需要内圈的边缘。

我希望你明白我的要求。感谢。

Broken Circles in MATLAB

1 个答案:

答案 0 :(得分: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');