?? mywavedec2.m
字號:
function y=mywavedec2(x,dim)
% 函數 MYWAVEDEC2() 對輸入矩陣 x 進行 dim 層分解,得到相應的分解系數矩陣 y
% 輸入參數:x —— 輸入矩陣;
% dim —— 分解層數。
% 輸出參數:y —— 分解系數矩陣。
x=modmat(x,dim); % 首先規范化輸入矩陣,使其行列數均能被 2^dim 整除,從而使分解順利進行
subplot(121);imshow(x);title('原始圖像'); % 畫出規范化后的源圖像
[m,n]=size(x); % 求出規范化矩陣x的行列數
xd=double(x); % 將矩陣x的數據格式轉換為適合數值處理的double格式
for i=1:dim
xd=modmat(xd,1);
[dLL,dHL,dLH,dHH]=mydwt2(xd); % 矩陣小波分解
tmp=[dLL,dHL;dLH,dHH]; % 將分解系數存入緩存矩陣
xd=dLL; % 將緩存矩陣左上角部分的子矩陣作為下一層分解的源矩陣
[row,col]=size(tmp); % 求出緩存矩陣的行列數
y(1:row,1:col)=tmp; % 將緩存矩陣存入輸出矩陣的相應行列
end
yd=uint8(y); % 將輸出矩陣的數據格式轉換為適合顯示圖像的uint8格式
for i=1:dim % 對矩陣 yd 進行分界線處理,畫出分解圖像的分界線
m=m-mod(m,2);
n=n-mod(n,2);
yd(m/2,1:n)=255;
yd(1:m,n/2)=255;
m=m/2;n=n/2;
end
subplot(122);imshow(yd);title([ num2str(dim) ' 級小波分解圖像']);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -