matlab环绕黑色图像中的白色区域

时间:2012-05-21 19:03:19

标签: matlab image-processing

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

1 个答案:

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

给出: Image