轮廓和区域,原始(空间)和中心图像时刻


9

我最近开始使用图像矩来对二进制图像进行图像处理。我读到,为了轮廓矩是周长和为了面积矩是区域。这些原始时刻都由以下公式给出: 0 ħ0th0th

Mij=xyxiyj

这意味着,如果我有这样的图像(但是二进制的前景像素以蓝色显示),则时刻将对应于周长,因为它是轮廓的图像:0th

imi媚img

另一方面,如果我有一个这样的图像(前景显示为while),我将获得对象的区域为时刻:0th

区域img

由于我想使用轮廓获得更多属性,因此我还计算了更高阶(,,阶)原始轮廓矩。我想用这些来获得关键时刻。 2 n d 3 r d1st2nd3rd

我用来获取关键时刻的公式是:

μ00=M00

μ01=0

μ10=0

μ11=M11M00xcyc=M11M00(M10M00)(M01M00)

计算公式中心矩使用原始的时刻。我的问题是:哪些原始矩用于计算中心矩,面积轮廓。我的猜测是面积矩,因为阶中心矩也等于面积,实际上就是阶面积矩。 0 ħ0th0th

另外,我可以基于轮廓原始弯矩来计算中心弯矩吗?



1
是的,在那里明确了区域矩和轮廓矩之间的差异。现在只有更多关于中心矩及其之间关系的信息才是好:)。
Olivier_s_j 2012年

轮廓或区域的中心矩?
Andrey Rubshtein 2012年

轮廓的中心矩需要澄清。我想知道如何基于轮廓矩来获得中心矩。因为如果我根据轮廓计算中心矩,再根据面积计算中心矩,我会发现它们并不相同。因此,我无法正确计算图形的方向或偏心率。(en.wikipedia.org/wiki/Image_moment
Olivier_s_j

您在第一句中说:“我读到0阶轮廓矩是周长,0阶面积矩是面积。” 您能提供这个来源吗?(我在自杀,是为了在轮廓矩上找到更具体的东西)
penelope

Answers:


3

实际上,令我惊讶的是,它很难得出正确的轮廓定义与图像的“正常”非轮廓矩的定义。阅读大量材料后,得出我的结论。


首先,为了了解矩,尤其是空间(OP称为“原始”),中心矩和中心规范矩的区别和用法,我发现了两种非常好的材料:

  • (手册)Johannes Kilian:“瞬间进行简单的图像分析”

    优秀的手册,数学简单。不必担心积分-您可以将它们全部作为求和来阅读。

    此外,它还简要介绍了用于此时刻的OpenCV功能。它是非常古老的材料(2001年),因此它所指的OpenCV手册虽然有些陈旧,但仍然很有帮助。

    而且比第三章更精彩,详细说明了哪个矩用于描述矩的哪个特征。

  • (图像处理博客)Utkarsh:图像时刻

    简单,简短和友好。我以前在此博客上找到了很多很好的材料。

    免责声明 AI Shack似乎在某个时候离线。AI Shack作者的主页,他在其中谈论这个项目,因此似乎仍然受到支持。我希望它能很快重新上线,但如果不能,则可以通过作者的网页对其进行跟踪。


不久,空间矩会给出有关图像中物体的信息,即与物体位置相关(取决于)

通过将用于计算的“坐标系”的原点移到相关对象的质心(重心),可以调整平移不变中心矩。

最后,中心归一化矩由对象的面积缩放,因此除了平移不变性之外,缩放不变性。


现在,对于实际的问题部分:轮廓矩如何处理?

这部分的推论主要基于

这些来源中最重要的报价:

轮廓的弯矩以相同的方式定义,但使用格林公式计算。

(OpenCV参考手册)

在平面几何学中,尤其是在面积测量中,格林定理可以仅通过在周长上积分来确定平面图形的面积和质心

(绿色维基)

而且,cvContourMoments现在仅仅是的别名cvMoments

(布拉德斯基·凯勒的书)

基于此,我推断出轮廓矩不是指对象轮廓的特殊度量,而是指仅使用轮廓信息(而不是整个图像的像素信息)来计算图像矩特定方法

在基本情况下,差异将是两者的计算方式。

  • 我的猜测是直接实现将通过逐个像素求和,直接实现公式进行工作。预计该对象将被填充。
  • 我对轮廓矩的猜测是,首先确定图像轮廓(请参阅OpenCV手册),然后将Green定理应用于轮廓数据。

这将使实际图像的测量值略有不同,因为这些方法在以下方面会有所不同:对噪声,缩放,离散(像素网格而不是连续图像)的敏感性。同样,速度:使用轮廓进行计算比使用直接方法更快。我推测对于无噪声的(理想化)连续黑白图像,它们将给出完全相等的结果。

因此,回答您的问题:力矩应该是相同的(由于噪音等而有所不同)。您可以使用通过两种方法计算出的空间(原始)矩来确定中心矩(仍将描述同一件事)。

1994年的这篇文章(我只读了摘要,但应该非常相关,甚至摘要也提供了信息)的存在进一步支持了这种说法:


关于获取周长度量的注意事项:我认为,要获取实际上只是轮廓区域的“周长”,我将计算对象轮廓图像的矩,但将轮廓视为一个非常薄的对象,而不是“对象的轮廓”0th

如果您进一步使用此刻,则所有其他测量当然会有所不同。


一些链接已断开
nkint 2014年

@nkint我修复了第一个断开的链接...作者的名字和手稿足以在Google上找到它,这是为什么我首先将它们包括在内的原因。如果有人在编辑正确的信息,如果他们发现链接再次被破坏,并且可以通过简单的Google搜索修复,那么我将不胜感激。第二个链接AI Shack似乎暂时不在线...我在作者主页上添加了一个链接,并在描述情况的过程中使用了一些免责声明。希望对您有所帮助。
penelope 2014年

0

无论轮廓矩还是面积矩,中心矩都是在中心参考框架(即以现象均值为中心的框架)中计算出的矩。

(μ0,1,μ1,0)μ=(μ01,μ10)

与此相关的还有关于词汇的问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.