Hu矩


close all;
clear all;
I1=imread('lena.bmp');
angle=;
T=[cos(angle),sin(angle),;-sin(angle),cos(angle),;,,];
t1 = maketform('affine',T);
I2 = imtransform(I1,t1,'bilinear','fill',);%旋转
I2=imresize(I2,0.5);%缩放
figure;
imshow(I1);
figure;
imshow(I2);
H1=Humoment(I1)
H2=Humoment(I2)
function Hu = Humoment(I)
I=double(I);
m00=sum(sum(I));
m10=;m01=;
[row,col]=size(I);
for i=:row
for j=:col
m10=m10+i*I(i,j);
m01=m01+j*I(i,j);
end
end
xb=m10/m00;%重心坐标
yb=m01/m00; %中心距
u02 = ;u03 = ;u11 = ;u12 = ;u20 = ;u21 = ;u30 = ;
for i=:row
for j=:col
u02=u02+(j-yb)^*I(i,j);
u03=u03+(j-yb)^*I(i,j);
u11=u11+(i-xb)*(j-yb)*I(i,j);
u12=u12+(i-xb)*(j-yb)^*I(i,j);
u20=u20+(i-xb)^*I(i,j);
u21=u21+(i-xb)^*(j-yb)*I(i,j);
u30=u30+(i-xb)^*I(i,j);
end
end %归一化中心距
n02=u02/m00^;
n03=u03/m00^2.5;
n11=u11/m00^;
n12=u12/m00^2.5;
n20=u20/m00^;
n21=u21/m00^2.5;
n30=u30/m00^2.5; %Hu矩
h1 = n20 + n02;
h2 = (n20-n02)^ + *(n11)^;
h3 = (n30-*n12)^ + (*n21-n03)^;
h4 = (n30+n12)^ + (n21+n03)^;
h5 = (n30-*n12)*(n30+n12)*((n30+n12)^-*(n21+n03)^)+(*n21-n03)*(n21+n03)*(*(n30+n12)^-(n21+n03)^);
h6 = (n20-n02)*((n30+n12)^-(n21+n03)^)+*n11*(n30+n12)*(n21+n03);
h7 = (*n21-n03)*(n30+n12)*((n30+n12)^-*(n21+n03)^)-(*n12-n30)*(n21+n03)*(*(n30+n12)^-(n21+n03)^);
Hu = [h1 h2 h3 h4 h5 h6 h7];
结果:
对于两图像做测试,其中第二幅是第一幅旋转30度并缩小到1/4大小:


上述两幅图计算出的Hu矩都为:
0.0012 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000
Hu矩的更多相关文章
- Hu矩SVM训练及检测-----OpenCV
关键词:Hu矩,SVM,OpenCV 在图像中进行目标物识别,涉及到特定区域内是否存在目标物,SVM可在样本量较少情况下对正负样本(图片中前景背景)做出良好区分,图片基本特征包括诸如HOG.LBP.H ...
- opencv计算两个轮廓之间hu矩相似程度,MatchShapes
https://blog.csdn.net/jiake_yang/article/details/52589063 [OpenCV3.3]通过透视变换矫正变形图像 https://blog.csdn. ...
- 【图像基础】图像不变性特征HU矩和Zernike矩
参考 1. 图像不变性特征: 2. matlab实现: 3. HU矩和Zernike矩: 完
- 几何不变矩--Hu矩
[图像算法]图像特征: ---------------------------------------------------------------------------------------- ...
- 【图像算法OpenCV】几何不变矩--Hu矩
原文地址 http://blog.csdn.NET/daijucug/article/details/7535370 [图像算法OpenCV]几何不变矩--Hu矩 一 原理 几何矩是由Hu(Visu ...
- opencv —— moments 矩的计算(空间矩/几何矩、中心距、归一化中心距、Hu矩)
计算矩的目的 从一幅图像计算出来的矩集,不仅可以描述图像形状的全局特征,而且可以提供大量关于该图像不同的几何特征信息,如大小,位置.方向和形状等.这种描述能力广泛应用于各种图像处理.计算机视觉和机器人 ...
- opencv中的图像矩(空间矩,中心矩,归一化中心矩,Hu矩)
严格来讲矩是概率与统计中的一个概念,是随机变量的一种数字特征.设 x 为随机变量,C为常数,则量E[(x−c)^k]称为X关于C点的k阶矩.比较重要的两种情况如下: 1.c=0,这时a_k=E(X^k ...
- 形状特征提取-Hu不变矩(转载)
[原文部分转载]:http://blog.csdn.net/wrj19860202/archive/2011/04/16/6327094.aspx 在连续情况下,图像函数为 ,那么图像的p+q阶几何矩 ...
- OpenCV学习(33) 轮廓的特征矩Moment
在OpenCV中,可以很方便的计算多边形区域的3阶特征矩,opencv中的矩主要包括以下几种:空间矩,中心矩和中心归一化矩. class Moments { public: ...... // 空间矩 ...
随机推荐
- Django 之ORM操作
1.什么是ORM? 全称关系对象映射Object Relational Mapping(简称ORM),是通过描述面向对象与数据库之间的对应的元数据,将对象持久化的更新到数据库中. 有了ORM,就不需要 ...
- chmod|chown|chgrp和用法和区别
1.chgrp(改变文件所属用户组) chgrp 用户组 文件名 ###就是这个格了.如果整个目录下的都改,则加-R参数用于递归. 如:chgrp -R user smb.conf 2.c ...
- jvm 调优(1)概念
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用,而不是对象本身, ...
- How do I set the timeout for a JAX-WS webservice client?
How do I set the timeout for a JAX-WS webservice client? up vote58down votefavorite 27 I've used JAX ...
- redis12-----redis 与关系型数据库的对比
书和书签系统 create table book ( bookid int, title ) )engine myisam charset utf8; insert into book values ...
- mysql优化-----多列索引的左前缀规则
索引优化策略 :索引类型 .1B-tree索引 关注的是:Btree索引的左前缀匹配规则,索引在排序和分组上发挥的作用. 注:名叫btree索引,大的方面看都用的二叉树.平衡树.但具体的实现上,各引擎 ...
- js中的关系操作符
1.关于“小于(<)” a.关于数值的判断就是跟正常的比较一样: b.var result = “23” <"3" ; //true 这两个是字符串,会比较他们的编码 ...
- ADB运行框架原理解析【转】
本文转载自:http://blog.csdn.net/wlwl0071986/article/details/50935496 一.adb守护进程的初始化 源码路径:~/system/core/adb ...
- 网络转载:局域网安全:解决ARP攻击的方法和原理
局域网安全:解决ARP攻击的方法和原理 IT世界网2006-01-26 10:17 [故障原因] 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). ...
- 解决virtualbox安装增强工具失败的问题
virtualbox有个增强工具,安装之后用户体验是非常爽的.但是有些时候在安装增强工具会遇到一些小问题,无非是没有安装gcc,make之类的编译工具或是需要安装kernel*.而我遇到的问题在做了这 ...