首先Hu矩是干嘛得呢?用hu矩来匹配图像

下面是计算hu矩的过程  概念先了解一下吧

普通矩 -----》0阶矩(m00) :目标区域的质量1阶矩(m01,m10) :目标区域的质心2阶矩(m02,m20,m11) :旋转半径3阶矩(m03,m30,m12,m21) :目标的方位和斜度,反应目标

中心矩:构造平移不变性 ---------》 质心坐标:x = m10/m00 y = m01/m00;

归一化中心矩:构造尺度不变性 ----------》(mu02,mu20,mu11,mu03,mu30,mu12,mu21)

hu矩:构造旋转不变性 (h1,h2,。。。。,h7)

代码如下:#include

#include

#include

//计算一幅图像的hu矩

int main()

{

IplImage* src;

src = cvCreateImage(cvSize(10,10),8,1); //这里是创建一幅图像 也可以自己加载一幅图像计算

cvZero(src); //把所以值都赋值为0

int xx,yy;

for( yy = 0;yy<5;yy++){

for( xx = 0;xx<5;xx++){

cvSetReal2D(src,yy,xx,255); //把前5行5列的像素变为255 白色

}

}

/*cvNamedWindow("1");

cvShowImage("1",src);*/

double m00,m10,m01; //计算0阶矩和1阶矩

CvMoments moment;

cvMoments(src,&moment,2);  //2: 只要比0大的数都可以 表示像素255的点都用1来表示

m00 = cvGetSpatialMoment(&moment,0,0);

m10 = cvGetSpatialMoment(&moment,1,0);

m01 = cvGetSpatialMoment(&moment,0,1);

double x = m10/m00;

double y = m01/m00;

CvHuMoments humoment;

cvGetHuMoments(&moment,&humoment); //计算出hu矩的值

cvWaitKey(0);

return 0;

}

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

收藏 | 0点赞 | 0打赏作者

android opencv hu moment,Opencv计算一幅图像的hu矩相关推荐

  1. 使用OpenCV计算两幅图像的协方差

    要计算协方差首先要知道协方差的数学原理. 定义 Cov(X,Y) = E{ [X-E(X)][Y-E(Y)] }为随机量X与Y的协方差. 其中E(X)为随机变量X的期望(均值),E(Y)为随机变量Y的 ...

  2. 使用MATLAB计算一幅图像的熵

    公式 熵的计算公式: H(x)=−∑i=1nP(ai)∗logP(ai)H(x)=-\sum_{i=1}^{n}P(a_i)*logP(a_i) H(x)=−i=1∑n​P(ai​)∗logP(ai​ ...

  3. 计算一幅图像的平均亮度

    matlab function av= average (A) A=imread('moon1.tif'); %av是计算一幅图像的平均亮度 %A必须是一维或二维的数组,否则程序会产生错误 if nd ...

  4. 计算两幅图像PSNR

    计算两幅图像PSNR 1.原始图像 2.对比图像 3.MATLAB程序代码 4.计算结果 1.原始图像 lenna512.bmp 2.对比图像 lenna512_low_dynamic_range.b ...

  5. matlab计算斜方差_计算一幅图像的信噪比

    本文摘自本人的毕业设计<数字图像滤波算法研究>2019, Chang'an University, Xi'an, China. 本文适用于原始图像(即不含噪声的图像)存在的情况下. 使用待 ...

  6. 计算两幅图像的PSNR和SSIM以及python代码实现

    欢迎关注博主的公众号:happyGirl的异想世界.有更多干货还有技术讨论群哦~ psnr是"Peak Signal to Noise Ratio"的缩写,即峰值信噪比,是一种评价 ...

  7. OpenCV C++案例实战十二《图像全景拼接》

    OpenCV C++案例实战十二<图像全景拼接> 前言 一.OpenCV Stitcher 1.功能源码 2.效果 二.图像全景拼接 1.特征检测 2.计算单应性矩阵 3.透视变换 4.图 ...

  8. 比较两幅图像的相似度

    现在以图搜图的功能比较火热,很好奇其原理. 简单的搜索学习得知,实现相似图片搜索的关键技术是"感知哈希算法",作用是对每一张图片按照某种规律生成一个对应的指纹字符串.比较不同图片之 ...

  9. C++ opencv计算图像的水平投影,并返回一幅图像

    效果图 输入图像 输出图像 代码 //计算图像的水平投影,并返回一幅图像 cv::Mat getVerProjImage(const cv::Mat &image) {cv::Mat matT ...

最新文章

  1. 计算机技术的演进过程
  2. sql存储过程的创建
  3. 数据库保护(数据库备份)Sql Server2012 图形界面操作
  4. 在JAVA中如何检查字符串日期的合法性
  5. 超炫jQuery测试答题功能
  6. (zz)编译Ubuntu Linux内核
  7. go 类型断言_(57)接口的类型断言
  8. 李洋疯狂C语言之用递归解决李白喝酒问题(二)
  9. 苹果与阿拉斯加航空公司合作 采用iPad Pro进行自助值机登机
  10. 8种排序算法 java_必须知道的八大种排序算法【java实现】
  11. Linux chapter 3
  12. IDEA的short command line 的作用
  13. OPEN-WRT老毛子固件的无线中继设置建议
  14. YUV编码为HEVC(H.265)
  15. V831——人脸性别年龄检测
  16. hdu 2481 树状数组 双关键字排阻
  17. Tyrion中文文档(含示例源码)
  18. 讲解一些复变函数的基础概念
  19. 使用 spring 集成 dbcp 数据库连接池到 Wowza 插件
  20. wps2016 对于doc文档 不识别<![CDATA[]]>bug

热门文章

  1. 解决:miniUSB 驱动无效 设备不识别
  2. 盘古苹果iOS9.2-iOS9.3.3越狱Bug统计:这五点需注意
  3. 论文解读TransFG: A Transformer Architecture for Fine-grained Recognition
  4. STM32F103VET6利用片内FLASH虚拟U盘,使用文件复制方式实现IAP
  5. Linux - 截取字符串的多种方法
  6. 100首好听的英文歌
  7. 全网唯一一套labview深度学习教程:tensorflow+目标检测:龙哥教你学视觉—LabVIEW深度学习教程
  8. Android Hook框架Xposed进阶
  9. 文曲星猜数字用c语言编程,用c语言编程猜数字
  10. ar9331修改flash大小和df、cat /proc/mtd的区别