我正在加厚二进制图像。我希望将标签 n 像素扩展到每个方向。
原图:
起初我使用函数 bwmorph(I, 'thicken', 25) 并得到这个图像:
这不好。加厚似乎使用了结构元素 [0,1,0;1,1,1;0,1,0],因此它总是将圆形转换为菱形。imdilate 与提到的结构元素会产生相同的输出。
接下来,我尝试使用结构元素 [1,1,1; 迭代扩展原始图像 n=25 次;1,1,1; 1,1,1]并得到以下图像:
原来的形状现在完全消失了。
我知道扩张总是会在某种程度上扭曲边界。我尝试了结构元素“磁盘”(r=5,膨胀 5 次)并得到了相当不错的结果:
这是最好的吗?如果我希望尽可能地保留原始圆形形状,我应该选择哪个结构元素?是否有任何好的经验法则可以为特定的膨胀距离找到合适的尺寸(可以从 10 到 100 不等,标签从圆形到椭圆形不等)?在尝试保持原始形状的同时,是否有更好的方法可以在所有方向上增长二进制图像?
有没有办法保持欧拉特性 - 保持增稠质量,同时将结构元素更改为更合适的东西?