第一个问题:
这样做是可以的,因为图像中只有一个对象。如果有更多对象,并想为每个对象找到力矩,请使用轮廓。造访: http : //opencvpython.blogspot.in/2012/06/contours-3-extraction.html
第二个问题:
(看到您的问题后,我也正在考虑)
胡铭ments先生在1962年发表的论文《 矩不变量的视觉模式识别 》中揭示了HuMoments。
在那篇论文中,他对它们进行了解释(当然,在高数学内容的帮助下)。您可以根据需要进行检查。
他说:
定理:中心矩在平移下是不变的。
当您使用moments()函数找到时刻时,它会返回三种时刻,即spatial moments (Mji), Central Moments (MUji) and Central Normalized Moments ( NUji)
。查看文档中的moments()
在第4-C节的末尾,胡说,在七个关系中( seventh one is skew invariant, which helps to distinguish mirror images.
看到它们 ),前六个是平移,大小和旋转seventh one is skew invariant, which helps to distinguish mirror images.
而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 ".
他们没有说个人价值观的含义。
加里·布拉德斯基先生(Gary Bradsky)先生撰写的经典OpenCV“学习OpenCV”一书提供了一些见解,使我们可以进行更多探索。 (请参阅第254页)
0
我了解到,这7个hu不变矩用于对象的平移,旋转和尺度变化,以便独立地识别这些因素。
这就是为什么我使用OpenCV中的“矩”函数提取中心矩,然后使用HuMoments函数获取以下二值化图像的七个不变矩的原因:
我的第一个问题是关于OpenCV中“ moments”功能的使用。第二个参数是“ binaryImage”,我将它设置为true,因为它是二进制图像,可以吗?
我的第二个疑问是关于函数“ HuMoments”的输出:七个hu不变矩。我不了解这些数据。哪些数据与旋转相关,哪些与平移有关,哪些与比例变化有关?
非常感谢!欢呼!