我有一个二进制掩码,我希望这个掩码的边框标有一个值,例如值2.最好是边框宽度为特定的百分比。换句话说,如果我们可以动态更改边框遮罩,那将是完美的。有谁能帮我高效,快捷地帮助我?
非常感谢,非常感谢您的帮助!
答案 0 :(得分:0)
这不是一个答案,而是更多的指导性评论。您可以使用的工具 - IMDILATE(用于更改边界的宽度)和BWMORPH(用于计算宽度的变化,可以探索其骨架化选项),用于表示边界像素的二进制图像。这就是我能想到的全部内容。
答案 1 :(得分:0)
由于您拥有图像处理工具箱,因此使用bwperim
或bwboundaries
可以轻松完成此操作。
bwperim
的示例:
BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
figure; subplot(121);imshow(BW1);subplot(122);imshow(BW2)
但是,要更改边框宽度,您必须合并两个图像(BW3 = BW1 | BW2;
)并重新运行bwperim
(BW4 = bwperim(BW3,8);
)。因此,对于任何超过单个像素宽度边界的内容,我都会使用imdilate
和xor
蒙版:
BW1 = imread('circbw.tif');
BW2 = imdilate(BW1,strel('disk',2));
BW_border = xor(BW2,BW1);