资源简介
Matlab计算图像的 7 个不变矩示例代码,写得比较清楚,值得借鉴

代码片段和文件信息
I0=imread(‘lena.jpeg‘);
if isrgb(I0)==1
I1=rgb2gray(I0)
end
I2=imrotate(I1-4‘bilinear‘); %逆时针旋转4度
I3=fliplr(I1); %镜像
subplot(141)imshow(I1);
subplot(142)imshow(I2);
subplot(143)imshow(I3);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算I1七个不变矩
%(1)计算I1的而质心
%(2)计算各阶中心矩
%(3)计算不变中心矩的值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I1=double(I1);
[MN]=size(I1);
[xy]=meshgrid(1:M1:N);
x=x(:);
y=y(:);
I1=I1(:);
m00=sum(I1);
m10=sum(x.* I1);
m01=sum(y.* I1);
xcenter=m10/m00;
ycenter=m01/m00;
% 计算归一化的各阶中心矩,具有平移不变性和伸缩不变性
cm00=m00;
cm02=sum((y-ycenter).^2.*I1)/(m00^2);
cm11=sum((x-xcenter).*(y-ycenter).*I1)/(m00^2);
cm12=sum((x-xcenter).*(y-ycenter).^2.*I1)/(m00^2.5);
cm21=sum((x-xcenter).^2.*(y-ycenter).*I1)/(m00^2.5);
cm03=sum((y-ycenter).^3.*I1)/(m00^2.5);
cm30=sum((x-xcenter).^3.*I1)/(m00^2.5);
cm20=sum((x-xcenter).^2.*I1)/(m00^2);
%计算七个不变矩
im(1)=abs(log(cm20+cm02))
im(2)=abs(log((cm20-cm02)^2+4*cm11^2))
im(3)=abs(log((cm30-3*cm12)^2+(3*cm21-cm03)^2))
im(4)=abs(log((cm30+cm12)^2+(cm21+cm03)^2))
im(5)=abs(log((cm30-3*cm12)*(cm30+cm12)*((cm30+cm12)^2-3*(cm21+cm03)^2)+(3*cm21-cm03)*(cm21+cm03)*(3*(cm30+cm12)^2-(cm21+cm03)^2)))
im(6)=abs(log((cm20-cm02)*((cm30+cm12)^2-(cm21+cm03)^2)+4*cm11*(cm30-cm12)*(cm21+cm03)))
im(7)=abs(log((3*cm21-cm02)*(cm21+cm30)*((cm30+cm12)^2-3*(cm21+cm03)^2)-(cm30-3*cm12)*(cm21+cm03)*(3*(cm30+cm12)^2-(cm21+cm03)^2)))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 分别对三个图像进行不变矩的计算,结果证明他们的很接近。
%不变矩具有平移不变性、伸缩不变性、旋转不变性。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1830 2009-09-04 18:50 Invariant moments.m
----------- --------- ---------- ----- ----
1830 1
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论