实际上,令我惊讶的是,它很难得出正确的轮廓定义与图像的“正常”非轮廓矩的定义。阅读大量材料后,得出我的结论。
首先,为了了解矩,尤其是空间(OP称为“原始”),中心矩和中心规范矩的区别和用法,我发现了两种非常好的材料:
(手册)Johannes Kilian:“瞬间进行简单的图像分析”
优秀的手册,数学简单。不必担心积分-您可以将它们全部作为求和来阅读。
此外,它还简要介绍了用于此时刻的OpenCV功能。它是非常古老的材料(2001年),因此它所指的OpenCV手册虽然有些陈旧,但仍然很有帮助。
而且比第三章更精彩,详细说明了哪个矩用于描述矩的哪个特征。
(图像处理博客)Utkarsh:图像时刻
简单,简短和友好。我以前在此博客上找到了很多很好的材料。
免责声明 AI Shack似乎在某个时候离线。这是AI Shack作者的主页,他在其中谈论这个项目,因此似乎仍然受到支持。我希望它能很快重新上线,但如果不能,则可以通过作者的网页对其进行跟踪。
不久,空间矩会给出有关图像中物体的信息,即与物体位置相关(取决于)。
通过将用于计算的“坐标系”的原点移到相关对象的质心(重心),可以调整平移不变的中心矩。
最后,中心归一化矩由对象的面积缩放,因此除了平移不变性之外,缩放不变性。
现在,对于实际的问题部分:轮廓矩如何处理?
这部分的推论主要基于
这些来源中最重要的报价:
轮廓的弯矩以相同的方式定义,但使用格林公式计算。
(OpenCV参考手册)
在平面几何学中,尤其是在面积测量中,格林定理可以仅通过在周长上积分来确定平面图形的面积和质心。
(绿色维基)
而且,cvContourMoments
现在仅仅是的别名cvMoments
。
(布拉德斯基·凯勒的书)
基于此,我推断出轮廓矩不是指对象轮廓的特殊度量,而是指仅使用轮廓信息(而不是整个图像的像素信息)来计算图像矩的特定方法。
在基本情况下,差异将是两者的计算方式。
- 我的猜测是直接实现将通过逐个像素求和,直接实现公式进行工作。预计该对象将被填充。
- 我对轮廓矩的猜测是,首先确定图像轮廓(请参阅OpenCV手册),然后将Green定理应用于轮廓数据。
这将使实际图像的测量值略有不同,因为这些方法在以下方面会有所不同:对噪声,缩放,离散(像素网格而不是连续图像)的敏感性。同样,速度:使用轮廓进行计算比使用直接方法更快。我推测对于无噪声的(理想化)连续黑白图像,它们将给出完全相等的结果。
因此,回答您的问题:力矩应该是相同的(由于噪音等而有所不同)。您可以使用通过两种方法计算出的空间(原始)矩来确定中心矩(仍将描述同一件事)。
1994年的这篇文章(我只读了摘要,但应该非常相关,甚至摘要也提供了信息)的存在进一步支持了这种说法:
关于获取周长度量的注意事项:我认为,要获取实际上只是轮廓区域的“周长”,我将计算对象轮廓图像的矩,但将轮廓视为一个非常薄的对象,而不是“对象的轮廓”。0th
如果您进一步使用此刻,则所有其他测量当然会有所不同。