七个Hu不变矩的意义来自OpenCV

and*_*oga 17 c++ opencv image-processing computer-vision

据我所知,七个hu不变矩用于对象的平移,旋转和比例变化,以便独立地识别这些因素.

这就是为什么我使用OpenCV中的"时刻"功能来提取中心时刻,然后我使用函数HuMoments来获得下面二值化图像的七个不变矩:

在此输入图像描述

我的第一个问题是关于使用OpenCV的"时刻"功能.第二个参数是"binaryImage",我将其设置为true,因为它是二进制图像,可以吗?

我的第二个疑问是关于"HuMoments"功能的输出:七个hu不变的时刻.我不明白这些数据.什么数据与轮换,翻译什么以及规模变化有什么关系?

非常感谢!欢呼!

Abi*_*n K 13

第一个问题:

由于图像中有单个对象,因此可以这样做.如果有更多的物体,并希望找到每个物体的时刻,请使用等高线.访问:http://opencvpython.blogspot.in/2012/06/contours-3-extraction.html

第二个问题:

(看到你的问题后我也在想它)

胡锦涛先生于1962年在他的论文" 瞬间不变的视觉模式识别 "中揭露了HuMoments .

在那篇论文中,他解释了它们(当然,在高数学内容的帮助下).如果需要,您可以查看.

他说:

定理:中心矩是翻译下的不变量.

当你使用moment()函数找到时刻时,它会返回三种类型的时刻spatial moments (Mji), Central Moments (MUji) and Central Normalized Moments ( NUji).查看文档的时刻()

在第4-C节的末尾,胡表示,在七个关系中(访问这里看看它们),前六个对翻译,大小和旋转都是不变的,而seventh one is skew invariant, which helps to distinguish mirror images.

我搜索了很多关于Hu Moments值的含义.但是所有的论文都说同样的对话:" Seven Hu Moments are calculated from Central Moments which are invariant to size, position and orientation ".他们没有说出个人价值观的含义.

由加里布拉德斯基先生撰写的OpenCV"学习OpenCV"的经典着作提供了一些见解,告诉我们要探索更多.(参见第254页)

  • 谢谢@Abid。我真的很惊讶没有在互联网上找到一些示例图片,说明哪些时刻在视觉上对应。制作一些说明它们的图片似乎并不难。一个人可以计算一组点的矩并使用任何优化算法调整它们的位置,直到找到一个配置,比如,一个特定的时刻是 1 而另一个是 0,等等。例如,不是 hu[0] 像椭圆的偏心率?它可以用 3 个点形成一个等腰三角形或四个点形成一个菱形来说明。任何人? (2认同)