?? rfusion.m
字號:
%基于pixel的特征選擇
%裝入原始圖像
load woman
X=double(X);
nbcol1=256;
Y1=X;map1=map;
subplot(2,2,1);
imshow(X);
image(X);title('原始圖像');
axis square
%產生噪聲圖像1
init=2005615866; randn('seed',init)
X1=Y1+28*randn(size(Y1));
subplot(2,2,2);
image(X1);
title('模糊圖像1');
axis square
nbcol2=256;
Y2=X;map2=map;
for i=1:256
for j=1:256
if(Y2(i,j)>100)
Y2(i,j)=1.2*Y2(i,j);
else
Y2(i,j)=0.5*Y2(i,j);
end
end
end
%產生噪聲圖像2
init=2055615866; randn('seed',init)
X2=Y2+10*randn(size(Y2));
subplot(2,2,3);
image(X2);axis square
title('模糊圖像2');
axis square
%================================================
%對圖像X1進行小波分解,
[c1,s1]=wavedec2(X1,1,'sym4');
sizec1=size(c1);
%對分解系數進行處理,通過處理,突出輪廓部分,弱化細節(jié)部分
for i=1:sizec1(2)
c1(i)=1.2*c1(i);
end
%提取低頻系數和三個高頻系數%%%%%
a1=appcoef2(c1,s1,'sym4',1);
h1=detcoef2('h',c1,s1,1);
v1=detcoef2('v',c1,s1,1);
d1=detcoef2('d',c1,s1,1);
%對系數進行量化處理
cod_a1=wcodemat(a1,nbcol1);
cod_h1=wcodemat(h1,nbcol1);
cod_v1=wcodemat(v1,nbcol1);
cod_d1=wcodemat(d1,nbcol1);
%對圖像X2進行小波分解,
[c2,s2]=wavedec2(X2,1,'sym4');
%提取低頻系數和三個高頻系數%%%%%
a2=appcoef2(c2,s2,'sym4',1);%
h2=detcoef2('h',c2,s2,1);%
v2=detcoef2('v',c2,s2,1);%
d2=detcoef2('d',c2,s2,1);
%對系數進行量化處理
cod_a2=wcodemat(a2,nbcol1);
cod_h2=wcodemat(h2,nbcol1);
cod_v2=wcodemat(v2,nbcol1);
cod_d2=wcodemat(d2,nbcol1);
%對低頻系數進行融和—求平均
fa=0.5*(cod_a1+cod_a2);
%對高頻系數進行融合
fh=comp(cod_h1,cod_h2);
fv=comp(cod_v1,cod_v2);
fd=comp(cod_d1,cod_d2);
cod_fa=wcodemat(fa,nbcol1)
cod_fh=wcodemat(fh,nbcol1)
cod_fv=wcodemat(fv,nbcol1)
cod_fd=wcodemat(fd,nbcol1)
%構造融合后圖像的[c,s]結構
%%構造c結構
G1=juzhen(cod_fa);
G2=juzhen(cod_fh);
G3=juzhen(cod_fv);
G4=juzhen(cod_fd);
c=[G1,G2,G3,G4];
%%構造s結構
s=s1;
%重構
fX=waverec2(c,s,'sym4');
[c22,s22]=wavedec2(fX,2,'coif3');
a12=wrcoef2('a',c22,s22,'sym4',1);
fX2=wrcoef2('a',c22,s22,'sym4',2);
% fX3=200*fX2;
subplot(2,2,4);
image(fX2); %colormap(map);
axis square;
title('融合圖像');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -