0

分割的边界

正如上图所示,我在分割后得到了一张图像的边界。但我只是得到了逻辑边界,我想标记被分段分割的每个区域。函数 bwlabel 不起作用,它只能标记连接区域。那么,我如何标记这 200 个区域?

4

1 回答 1

0

如果您的原始图像称为img并且您当前的 bw 分段图像称为I,我建议:

I = (I==0); % invert the image
cc = bwconncomp(I,8); % could use 4-connected neighborhood also
s = regionprops(cc,img,'all');

最后一行将为每个分割区域提供原始图像中的所有可用属性(如果需要)。你可以使用你提到的bwlabel,但我认为bwconncomp可能更快/更有效。

用于标记的bwlabel的替代方法是:

L = labelmatrix(cc);

然后我喜欢使用label2rgb查看段:

RGB_label = label2rgb(L, @jet, 'k', 'shuffle');
imshow(RGB_label);

这将根据提供的颜色图(在本例中为 jet)随机为每个段着色。

于 2012-09-06T04:12:13.157 回答