欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

P34轮廓匹配(矩算法)

时间:2023-04-26

(一)知识点

①轮廓匹配主要基于Hu矩的特性(放缩不变性,旋转不变性)

图像的矩特征 - ☆Ronny丶 - 博客园 (cnblogs.com)

 ②具体方法

(二)API

① moments()【计算几何矩】

Moments moments( InputArray array, bool binaryImage = false );

参数解释(OpenCV: Structural Analysis and Shape Descriptors

binaryImage:如果为 true,则所有非零图像像素都被视为 1。该参数仅用于图像。其实就相当于一个二值化了,只不过阈值为无限接近0但不等于0

moments()返回Moments类

②HuMoments()【计算Hu矩】 

void HuMoments( const Moments& moments, double hu[7] );//主要是计算7个Hu(图像不变性,第7个除外,会应反射而改变)

void HuMoments( const Moments& m, OutputArray hu );//参二输出一个Mat类的Hu

这是一个重载的成员函数,为方便起见而提供。它与上述函数的不同之处仅在于它接受的参数。

OpenCV: Structural Analysis and Shape Descriptors

③matchShapes()【基于轮廓Hu的匹配计算】

double matchShapes( InputArray contour1, InputArray contour2, int method, double parameter );

参数结束:

InputArray contour1:可以是Mat类的轮廓1(但是用轮廓1的Hu值更准确)

InputArray contour2:可以是Mat类的轮廓2(但是用轮廓2的Hu值更准确)

int method:计算两轮廓(两轮廓Hu值的方式)见下图

 (三)代码展示

(四)运行效果 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。