资源简介
这是我研究生阶段写的用小波矩进行二值图像的特征提取,好不容易才找到的,很珍贵的呀,上传与大家分享。里面包括了一个matlab代码和一副二值飞机图像,直接执行即可得出结果。
代码片段和文件信息
function tezhengtiqu
%新归一化方法小波矩特征提取----------------------------------------------------------
F=imread(‘a1.bmp‘);
F=im2bw(F);
F=imresize(F[128 128]);
%求取最上点
for i=1:128
for j=1:128
if (F(ij)==1)
ytop=i;
xtop=j;
break;
end
end
if(F(ij)==1)
break;
end
end
%求取最下点
for i=1:128
for j=1:128
if (F(129-ij)==1)
ybottom=129-i;
xbottom=j;
break;
end
end
if(F(129-ij)==1)
break;
end
end
%求取最左点
for i=1:128
for j=1:128
if (F(ji)==1)
yleft=j;
xleft=i;
break;
end
end
if(F(ji)==1)
break;
end
end
%求取最右点
for i=1:128
for j=1:128
if (F(j129-i)==1)
yright=j;
xright=129-i;
break;
end
end
if(F(j129-i)==1)
break;
end
end
%求取中心点
x0=(xright-xleft)/2+xleft;
y0=(ybottom-ytop)/2+ytop;
x0=round(x0);
y0=round(y0);
%图像平移
F=double(F);
[MN]=size(F);
F1=zeros(MN);
M0=M/2;
N0=N/2;
for i=1:M
for j=1:N
if F(ij)==1
F1(i+M0-y0j+N0-x0)=1;
end
end
end
%figureimshow(F1);
%图像缩放
max=0;
for i=1:128
for j=1:128
if(F(ij)==1)
d=sqrt((i-y0)^2+(j-x0)^2);
if(max max=d;
end
end
end
end
%max=round(max);
a=200.0/(max*2);
F2=imresize(F1a);
%figureimshow(F2);
%将所有图像均复制到500*500的图像的大小
[MN]=size(F2);
m0=M/2;
m0=round(m0);
n0=N/2;
n0=round(n0);
f3=zeros(500500);
y1=round((500-M)/2);
x1=round((500-N)/2);
for i=1:M
for j=1:N
if(F2(ij)==1)
f3(y1+ix1+j)=1;
end
end
end
%figureimshow(f3);
%图像从笛卡儿坐标转换为极坐标------------------------------------------------------------
%角度间隔为2*pi/(128*128)128个像素长设为图像的单位圆半径
%f1矩阵里面放着对应极半径和角度的值
f1=zeros(12816384);
%直角坐标与极坐标建立起一一对应的关系
for i=1:128
for j=1:16384
a=j*2*pi/16384.0;
r=i;
y=round(r*sin(a));
x=round(r*cos(a));
if (f3(250+x250+y)==1)
f1(ij)=1;
end
end
end
F3=zeros(512512);
%将极坐标转换后的图像显示出来
for i=1:128
for j=1:16384
if f1(ij)==1
a=j*2*pi/16384.0;
x=round(i*cos(a));
y=round(i*sin(a));
F3(256+x256+y)=1;
end
end
end
F3(256256)=1;
%figureimshow(F3);
%小波矩特征提取-------------------------------------------------------------------
%进行角度积分得到Sq(r)------------------
N=16384;
Sq=zeros(1284);
for r=1:128
for q=1:4
for m=1:N
Sq(rq)=(f1(rm)*exp(-j*2.0*pi*(m-1)*(q-1)/N))+Sq(rq);
end
Sq(rq)=1.0/N*Sq(rq);
end
end
%小波矩特征提取-------------------------
x=3;
a=0.697066;
f0=0.409177;
w=sqrt(0.561145);
F1=zeros(394);
tt=4*a^(x+1)/sqrt(2*pi*(x+1))*w;
for q=1:4
for 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3631 2009-03-17 08:52 tezhengtiqu.m
文件 32830 2008-04-26 16:43 a1.bmp
----------- --------- ---------- ----- ----
36461 2
- 上一篇:画标注框(matlab程序)
- 下一篇:根据四张纸牌计算24matlab程序
相关资源
- 基于小波变换的数字水印算法115024
- MATLAB小波软阈值去噪代码33473
- 图像小波变换MatLab源代码
- 图像的二进小波分解matlab源码(保证
- matlab 计算矩阵中不同元素个数的函数
- 小波神经网络Matlab交通仿真程序
- matlab人脸识别和特征提取
- 高光谱图像pca分析特征提取
- 灰度共生矩阵matlab
- 灰度共生矩阵特征值不错的算法
- 同步挤压小波变换分离混沌干扰 mat
- 提取图片纹理特征能量、熵、惯性矩
- 矩阵填充MATLAB代码
- 正负斜率LFM信号的仿真(信号生成,
- 刚度矩阵算法
- 竞争性自适应重加权
- LBP四种特征提取算法
- 小波滤波,可用于心电信号、脉搏波
- MATLAB 灰度共生矩阵特征提取
- matlab纹理特征提取源代码
- 轴承故障诊断matlab代码四种方法
- 小波变换工具箱
- 小波分析与小波相干代码
- 基于遗传算法的小波神经网络在股票
- MATLAB 特征提取
- matlab实现一维和二维离散小波变换,
- MATLAB计算两个图片的单应性矩阵
- 复数矩阵求逆
- 激光雷达采集数据的特征提取
- EWT 经验小波分解 matlab工具箱 toolbox
川公网安备 51152502000135号
评论
共有 条评论