2

我有一个灰度图像,我将其转换为黑白图像,并对其进行一些处理。处理后,我有一张黑白图像,在黑色图像中有一组白色像素。所以我想在结果图像中的白色区域周围放置圆圈,但在原始图像中。我想了很多方法,但仍然无法从任何方法开始。请帮忙。

4

1 回答 1

4

您可以使用regionprops获取有关二值图像中连接的白色区域的一些统计信息,并据此估计区域半径。

im = imread('moon.jpg');
bw = im2bw(im);

stats = regionprops(bw);

imshow(im);
hold on;

t = 0:.01:2*pi;
for i = 1:numel(stats)
    bb = stats(i).BoundingBox;
    radius = mean([bb(3),bb(4)])/2;

    plot(bb(1)+radius+radius*sin(t), bb(2)+radius+radius*cos(t));
end

给出: 图片

于 2012-05-21T19:48:07.790 回答