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