Hu矩
2024-08-27 04:22:01
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
最新文章
- [解决方案] pythonchallenge level 3
- SQL日期格式化应用大全
- iOS 更改webView文字颜色丶文字大小丶背景色的方法
- APIO2015泛做
- windows下安装openssh服务并实现远程登录
- HTML5 webSQL
- CROSS APPLY和 OUTER APPLY 区别
- BAT 批处理实现循环备份N天文件夹
- PHP程序员衰老后的下场
- JDK根目录介绍
- apply()
- 学编程担心自己英语不好吗?(IT软件开发常用英语词汇)
- 重载重写重定义-易混淆概念-C++编译器处理方式
- MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述
- jenkins中布置python测试
- 剑指offer(12)数值的整数次方
- linux 下安装doker centeros6.5
- ThinkPHP5路由图解
- 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件
- Revit二次开发示例:AutoStamp
热门文章
- 设计模式学习笔记——Mediator中介者模式
- 在Qt Creator中为Qt工程添加资源
- 求a + aa + aaa + aaaa + aaaaa ...的值,例如:1 + 11 + 111,2 + 22 + 222 + 2222 + 22222
- 轮廓线DP:poj 2279 Mr. Young's Picture Permutations
- 贞鱼传教&;&;贞鱼传教(数据加强版)
- 数组、栈、堆(java基础知识五)
- BroadcastReceiver中调用Service
- BZOJ_3063_[Usaco2013]Route Designing_DP
- 【转】nose-parameterized是Python单元测试框架实现参数化的扩展
- 安装并配置JAVA环境