?? mydwt2.m
字號:
function [LL,HL,LH,HH]=mydwt2(x);
% 函數 MYDWT2() 對輸入的r*c維矩陣 x 進行二維小波分解,輸出四個分解系數子矩陣[LL,HL,LH,HH]
% 輸入參數:x —— 輸入矩陣,為r*c維矩陣。
% 輸出參數:LL,HL,LH,HH —— 是分解系數矩陣的四個相等大小的子矩陣,大小均為 r/2 * c/2 維
% LL:低頻部分分解系數; HL:垂直方向分解系數;
% LH:水平方向分解系數; HH:對角線方向分解系數。
lpd=[1/2 1/2];hpd=[-1/2 1/2]; % 默認的低通、高通濾波器
[row,col]=size(x); % 讀取輸入矩陣的大小
for j=1:row % 首先對輸入矩陣的每一行序列進行一維離散小波分解
tmp1=x(j,:);
[ca1,cd1]=mydwt(tmp1,lpd,hpd,1);
x(j,:)=[ca1,cd1]; % 將分解系數序列再存入矩陣x中,得到[L|H]
end
for k=1:col % 再對輸入矩陣的每一列序列進行一維離散小波分解
tmp2=x(:,k);
[ca2,cd2]=mydwt(tmp2,lpd,hpd,1);
x(:,k)=[ca2,cd2]; % 將分解所得系數存入矩陣x中,得到[LL,Hl;LH,HH]
end
LL=x(1:row/2,1:col/2); % LL是矩陣x的左上角部分
LH=x(row/2+1:row,1:col/2); % LH是矩陣x的左下角部分
HL=x(1:row/2,col/2+1:col); % HL是矩陣x的右上角部分
HH=x(row/2+1:row,col/2+1:col); % HH是矩陣x的右下角部分
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -