使用C++、opencv获取图像的Hu不变矩
矩函数在图像分析中有着广泛的应用,如模式识别、目标分类、目标识别与方位估计、图像编码与重构等。一个从一幅数字图形中计算出来的矩集,通常描述了该图像形状的全局特征,并提供了大量的关于该图像不同类型的几何特性信息,比如大小、位置、方向及形状等。图像矩的这种特性描述能力被广泛地应用在各种图像处理、计算机视觉和机器人技术领域的目标识别与方位估计中。一阶矩与形状有关,二阶矩显示曲线围绕直线平均值的扩展程度,三阶矩则是关于平均值的对称性的测量。由二阶矩和三阶矩可以导出一组共7个不变矩。而不变矩是图像的统计特性,满足平移、伸缩、旋转均不变的不变性,在图像识别领域得到了广泛的应用。
总结:Hu不变矩是图像的一组特征参数,主要用来描述形状,并具有平移、伸缩、旋转均不变的不变性,可用于图像分类、识别。
关于Hu不变矩的更详细原理、计算方法可以参考:https://www.cnblogs.com/ronny/p/3985810.html及https://www.cnblogs.com/mikewolf2002/p/3427564.html
opencv中关于图像的矩的相关API:
Moments moments(InputArray array, bool binary Image=false)
moments0函数用于计算多边形和光栅形状的最高达三阶的所有矩。矩用来计算形状的重心、面积,主轴和其他形状特征,如7Hu不变量等。
第一个参数,InputArray类型

本文介绍了如何使用C++和OpenCV库来计算图像的Hu不变矩,这是一种描述图像形状并具备平移、伸缩、旋转不变性的特征参数,常用于图像识别和分类。通过OpenCV的Moments和HuMoments函数,可以从图像中提取这7个不变矩,以辅助进行图像分析和处理。
最低0.47元/天 解锁文章
5965

被折叠的 条评论
为什么被折叠?



