?? l4_3b.m
字號:
%程序 L4_3b.m: 小波變換系數與圖像的方向性%
clear;
[X,map]=bmpread('L4_3b.bmp'); % 載入圖像
subplot(221), imshow(X,map), xlabel('(a)')
%小波變換%
nbcol=size(map,1);
[LL1,LH1,HL1,HH1]=dwtper2(X,'db8'); % 小波變換產生各頻帶系數
[LL2,LH2,HL2,HH2]=dwtper2(LL1,'db8'); % 濾波器長度為8
[LL3,LH3,HL3,HH3]=dwtper2(LL2,'db8');
[LL4,LH4,HL4,HH4]=dwtper2(LL3,'db8');
%重建(某些頻帶系數以零取代)%
altzero4=zeros(size(LL4));
altzero3=zeros(size(LL3));
altzero2=zeros(size(LL2));
altzero1=zeros(size(LL1));
% 反小波變換%
rLL3=idwtper2( LL4,altzero4,HL4,HH4,'db8');
rLL2=idwtper2(rLL3,altzero3,HL3,HH3,'db8');
rLL1=idwtper2(rLL2,altzero2,HL2,HH2,'db8');
rX=idwtper2(rLL1,altzero1,HL1,HH1,'db8',size(X));
difrtH=rX-X; % 計算去掉各層第二頻帶成分后重建的圖與原圖的差異
discardH=wcodemat(difrtH,nbcol); % 觀察去掉第二頻帶成分后的影響
subplot(222), imshow(discardH,map), xlabel('(b)')
rLL3=idwtper2( LL4,LH4,altzero4,HH4,'db8');
rLL2=idwtper2(rLL3,LH3,altzero3,HH3,'db8');
rLL1=idwtper2(rLL2,LH2,altzero2,HH2,'db8');
rX=idwtper2(rLL1,LH1,altzero1,HH1,'db8',size(X));
difrtV=rX-X; % 計算去掉各層第三頻帶成分后重建的圖與原圖的差異
discardV=wcodemat(difrtV,nbcol); % 觀察去掉第三頻帶成分后的影響
subplot(223), imshow(discardV,map), xlabel('(c)')
rLL3=idwtper2( LL4,LH4,HL4,altzero4,'db8');
rLL2=idwtper2(rLL3,LH3,HL3,altzero3,'db8');
rLL1=idwtper2(rLL2,LH2,HL2,altzero2,'db8');
rX=idwtper2(rLL1,LH1,HL1,altzero1,'db8',size(X));
difrtX=rX-X; % 計算去掉各層第四頻帶成分后重建的圖與原圖的差異
discardX=wcodemat(difrtX,nbcol); % 觀察去掉第四頻帶成分后的影響
subplot(224), imshow(discardX,map), xlabel('(d)')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -