資源簡介
可以直接運行,我用的matlab2018a測試的。

代碼片段和文件信息
%??此示意程序用DWT實現二維小波變換
%??編程人????沙威(Wei?Sha)?安徽大學(Anhui?University)?ws108@ahu.edu.cn
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;clc;
T=256;???????%??圖像維數
SUB_T=T/2;???%??子圖維數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%??1.調原始圖像矩陣
load?wbarb;??%??下載圖像
f=X;?????????%??原始圖像
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%??2.進行二維小波分解
l=wfilters(‘db10‘‘l‘);????%??db10(消失矩為10)低通分解濾波器沖擊響應(長度為20)
L=T-length(l);
l_zeros=[lzeros(1L)];????%??矩陣行數與輸入圖像一致,為2的整數冪
h=wfilters(‘db10‘‘h‘);????%??db10(消失矩為10)高通分解濾波器沖擊響應(長度為20)
h_zeros=[hzeros(1L)];????%??矩陣行數與輸入圖像一致,為2的整數冪
for?i=1:T;???%??列變換
????row(1:SUB_Ti)=dyaddown(?ifft(?fft(l_zeros).*fft(f(:i)‘)?)?).‘;????%??圓周卷積<->FFT
????row(SUB_T+1:Ti)=dyaddown(?ifft(?fft(h_zeros).*fft(f(:i)‘)?)?).‘;??%??圓周卷積<->FFT
end;
for?j=1:T;???%??行變換
????line(j1:SUB_T)=dyaddown(?ifft(?fft(l_zeros).*fft(row(j:))?)?);????%??圓周卷積<->FFT
????line(jSUB_T+1:T)=dyaddown(?ifft(?fft(h_zeros).*fft(row(j:))?)?);??%??圓周卷積<->FFT
end;
decompose_pic=line;??%??分解矩陣
%??圖像分為四塊
lt_pic=decompose_pic(1:SUB_T1:SUB_T);??????%??在矩陣左上方為低頻分量--fi(x)*fi(y)
rt_pic=decompose_pic(1:SUB_TSUB_T+1:T);????%??矩陣右上為--fi(x)*psi(y)
lb_pic=decompose_pic(SUB_T+1:T1:SUB_T);????%??矩陣左下為--psi(x)*fi(y)
rb_pic=decompose_pic(SUB_T+1:TSUB_T+1:T);??%??右下方為高頻分量--psi(x)*psi(y)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%??3.分解結果顯示
figure(1);
colormap(map);
subplot(211);
image(f);??%??原始圖像???
title(‘original?pic‘);
subplot(212);
image(abs(decompose_pic));??%??分解后圖像
title(‘decomposed?pic‘);?
figure(2);
colormap(map);
subplot(221);
image(abs(lt_pic));??%??左上方為低頻分量--fi(x)*fi(y)
title(‘\Phi(x)*\Phi(y)‘);
subplot(222);
image(abs(rt_pic));??%??矩陣右上為--fi(x)*psi(y)
title(‘\Phi(x)*\Psi(y)‘);
subplot(223);
image(abs(lb_pic));??%??矩陣左下為--psi(x)*fi(y)
title(‘\Psi(x)*\Phi(y)‘);
subplot(224);
image(abs(rb_pic));??%??右下方為高頻分量--psi(x)*psi(y)
title(‘\Psi(x)*\Psi(y)‘);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%??5.重構源圖像及結果顯示
%?construct_pic=decompose_matrix‘*decompose_pic*decompose_matrix;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
l_re=l_zeros(end:-1:1);???%??重構低通濾波
l_r=circshift(l_re‘1)‘;??%??位置調整
h_re=h_zeros(end:-1:1);???%??重構高通濾波
h_r=circshift(h_re‘1)‘;??%??位置調整
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
top_pic=[lt_picrt_pic];??%??圖像上半部分
t=0;
for?i=1:T;??%??行插值低頻
??
????if?(mod(i2)==0)
????????topll(i:)=top_pic(t:);?%??偶數行保持
????else
????????t=t+1;
????????topll(i:)=zeros(1T);???%??奇數行為零
????end
end;
for?i=1:T;??%??列變換
????topcl_re(:i)=ifft(?fft(l_r).*fft(topll(:i)‘)?)‘;??%??圓周卷積<->FFT
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bottom_pic=[lb_picrb_pic];??%??圖像下半部分
t=0;
for?i=1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1142??2018-09-18?16:33??DWT_1D.zip
?????文件????????5054??2007-06-12?10:46??DWT_2D.m
?????文件????????1599??2018-09-18?16:31??DWT_2D.zip
- 上一篇:燃料電池極化曲線模型
- 下一篇:SVPWM模型的simuli
nk仿真
評論
共有 條評論