【问题标题】:Image processing erosion图像处理侵蚀
【发布时间】:2009-06-13 08:20:47
【问题描述】:

请谁能告诉我,当我腐蚀具有零中心示例 [0 0 1] 的结构元素 (SE) 的图像时会发生什么。因为我了解到腐蚀是图像所有位置的交集(A0 相交A1 ..An) 并且因为中心为零 => A0 是 Phi,这意味着侵蚀将是什么(黑色图像),这是合理的。但是当我在matlab上尝试它时,它给了我相同的图像(矩形),但它向左移动了一个像素,即(A1)。这意味着它将A0视为U => U(整个宇宙)Intesect A1 => A1。 任何人都可以解释为什么会这样吗?并且是matlab结果为真还是在将SE的中心设为零时给出错误结果,因为它不合逻辑。 谢谢。

【问题讨论】:

  • 恐怕您仍然感到困惑(我将继续您对已接受答案的评论,这在许多情况下都是错误的)。在数学形态学中,我们有平面和非平面结构元素(SE),后者可以被称为结构函数。例如,如果你有一个 SE [0 0 1],那么这是一个非平面 SE,一个平面 SE 将是纯粹的 [0 0 0]。在 Matlab 中构建它的一种方法是strel('arbitrary', [1 1 1], [0 0 1])。现在,您可能想说一些完全不同的东西:您的 SE 的起源在其自身之外。在这种情况下,您会丢失几个属性。

标签: image-processing mathematical-morphology


【解决方案1】:

Matlab 的结果是正确的。想象一下,你有一张图片,中间有一个白色像素:

 I:     0 0 1 0 0

现在,想象一下图片下方 SE 的所有位置:

 I:     0 0 1 0 0
SE:   0 0 1

对于这个像素,SE 中的所有“1”像素都放在图像 I 中的“0”像素之下,所以这个放置的结果是 0。SE 的中心在第一个像素之下,所以输出图像中的第一个像素为 0。

 I:     0 0 1 0 0
SE:     0 0 1

现在 SE 的中心位于第二个像素下方。 SE 中的所有“1”像素都位于源图像中的“1”像素下方,因此该像素在输出图像中将为“1”。所以最后,输出的图像会是这样的:

 I:     0 0 1 0 0
 O:     0 1 0 0 0

这正是 Matlab 所做的。

【讨论】:

  • 非常感谢我有点困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 1970-01-01
相关资源
最近更新 更多