【发布时间】:2016-12-22 16:25:23
【问题描述】:
我正在加厚二值图像。我希望将标签 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 不等,标签从圆形到椭圆形不等)?有没有更好的方法在保持原始形状的同时在所有方向上增长二值图像?
有没有办法保持欧拉特性——保持增厚的质量,同时将结构元素更改为更合适的东西?
【问题讨论】:
-
拟合并平滑轮廓。
标签: matlab image-processing image-morphology