我了解到,这7个hu不变矩用于对象的平移,旋转和尺度变化,以便独立地识别这些因素。

这就是为什么我使用OpenCV中的“矩”函数提取中心矩,然后使用HuMoments函数获取以下二值化图像的七个不变矩的原因:

我的第一个问题是有关OpenCV中“矩”功能的使用。第二个参数是“binaryImage”,我将其设置为true,因为它是一个二进制图像,可以吗?

我的第二个疑问是关于函数“HuMoments”的输出:七个hu不变矩。我不了解这些数据。哪些数据与旋转相关,哪些与平移有关,哪些与比例变化有关?

非常感谢!欢呼!

最佳答案

第一个问题:

这样做是可以的,因为图像中只有一个对象。如果有更多对象,并想为每个对象找到力矩,请使用轮廓。造访:http://opencvpython.blogspot.in/2012/06/contours-3-extraction.html

第二个问题:

(看到您的问题后,我也在考虑)

胡铭ments先生于1962年在他的论文“Visual Pattern Recognition by Moment Invariants”中发现了矩。

他在那篇论文中对它们进行了解释(当然是在高数学内容的帮助下)。您可以根据需要进行检查。

他说:



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

在第4-C节的末尾,Hu指出,在七个关系(Visit here to see them)中,前六个对于平移,大小和旋转不变,而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”一书给出了一些见解,告诉我们可以进行更多的探索。 (Refer page 254)

关于c++ - OpenCV中七个Hu不变矩函数的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11379947/

10-12 23:07