如果我有一个如下所示的结构元素(原点位于 SE 的中心):
0 0 0
0 0 0
0 0 0
如果我对二值图像执行腐蚀/膨胀,结果将全部为 0 或 1。
有人可以向我解释一下这个吗? (通过matlab检查)
非常感谢。
你有一个完全有效的SE。它是一个扁平的正方形,被普遍接受并在每个图像处理库中都可用。
现在,了解平面和非平面结构元素(或结构函数)之间的差异和相似性非常重要。相似之处在于它们都在某个邻域内运行。对于基本正方形元素,邻域可以用 3x3 矩阵表示,其中每个元素都在该元素的邻域中(例如,对于菱形 SE,它也将是 3x3 矩阵,但角不属于该元素)邻里)。在Matlab中,这种特定的邻域关系表示为ones(3, 3)
或者简单地[1 1 1; 1 1 1; 1 1 1]
。平坦 SE 和非平坦 SE 之间的区别在于strel
Matlab 中的函数就是这样。非平坦 SE 意味着它可以以不同的方式对待邻居,因此它并不完全依赖于值 0(腐蚀和膨胀的定义稍作修改以处理这种情况)。例如,平方 SE 在 Matlab 中正确定义为strel('arbitrary', ones(3, 3), zeros(3, 3))
(指定zeros(3, 3)
因为第二个参数基本上是一个错误,因为你说你没有邻居)。另一方面,非平面正方形可以用无限种方式定义,其中一种可以是strel('arbitrary', ones(3, 3), [-1 -1 -1; -1 0 -1; -1 -1 -1])
.
总结一下,您最有可能使用strel
错误地。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)