資源簡(jiǎn)介
這是我研究生階段寫的用小波矩進(jìn)行二值圖像的特征提取,好不容易才找到的,很珍貴的呀,上傳與大家分享。里面包括了一個(gè)matlab代碼和一副二值飛機(jī)圖像,直接執(zhí)行即可得出結(jié)果。

代碼片段和文件信息
function???tezhengtiqu
%新歸一化方法小波矩特征提取----------------------------------------------------------
F=imread(‘a(chǎn)1.bmp‘);
F=im2bw(F);
F=imresize(F[128?128]);
%求取最上點(diǎn)
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
%求取最下點(diǎn)
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
%求取最左點(diǎn)
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
%求取最右點(diǎn)
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
%求取中心點(diǎn)
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);
%將所有圖像均復(fù)制到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);
%圖像從笛卡兒坐標(biāo)轉(zhuǎn)換為極坐標(biāo)------------------------------------------------------------
%角度間隔為2*pi/(128*128)128個(gè)像素長(zhǎng)設(shè)為圖像的單位圓半徑
%f1矩陣?yán)锩娣胖鴮?duì)應(yīng)極半徑和角度的值
f1=zeros(12816384);
%直角坐標(biāo)與極坐標(biāo)建立起一一對(duì)應(yīng)的關(guān)系???????????
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);
%將極坐標(biāo)轉(zhuǎn)換后的圖像顯示出來
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);
%小波矩特征提取-------------------------------------------------------------------
%進(jìn)行角度積分得到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?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3631??2009-03-17?08:52??tezhengtiqu.m
?????文件??????32830??2008-04-26?16:43??a1.bmp
-----------?---------??----------?-----??----
????????????????36461????????????????????2
評(píng)論
共有 條評(píng)論