?? 新建 文本文檔 (2).txt
字號:
%文件名:liftwavedec2.m
%編 寫:郭林庚
%時 間:2005/11/01
%函數功能:二代小波harr變換,整數小波變換
%輸入格式舉例:imgwave=liftwavedec2(image,256,3)
%參數說明:
% image--輸入的圖像矩陣,要為方陣
% m --輸入的圖像矩陣大小
% n --小波變換次數
%測試用例:
% img=imread('lena.jpg');
% [m,m]=size(img);
% imgwave=liftwavedec2(img,m,3);
% imshow(imgwave);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function imgwave=liftwavedec2(image,m,n)
img=image;
M=m;
for i=1:n
imgwave1=lwavedec2(img,M);
imgwave(1:M,1:M)=imgwave1;
M=M/2;
img=imgwave1(1:M,1:M);
end
%
% 二代小波harr變換,整數小波變換
%
function f_row=lwavedec2(image,N)
f=image;
T=N/2; % 子圖像維數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% 1.列變換
% A.分裂(奇偶分開)
f1=f([1:2:N-1],:); % 奇數
f2=f([2:2:N],:); % 偶數
% f1(:,T+1)=f1(:,1); % 補列
% f2(T+1,:)=f2(1,:); % 補行
% B.預測
for i_hc=1:T;
high_frequency_column(i_hc,:)=f1(i_hc,:)-f2(i_hc,:);
end;
% high_frequency_column(T+1,:)=high_frequency_column(1,:); % 補行
% C.更新
for i_lc=1:T;
low_frequency_column(i_lc,:)=f2(i_lc,:)+1/2*high_frequency_column(i_lc,:);
end;
% D.合并
f_column([1:1:T],:)=low_frequency_column([1:T],:);
f_column([T+1:1:N],:)=high_frequency_column([1:T],:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% 2.行變換
% A.分裂(奇偶分開)
f1=f_column(:,[1:2:N-1]); % 奇數
f2=f_column(:,[2:2:N]); % 偶數
% f2(:,T+1)=f2(:,1); % 補行
% B.預測
for i_hr=1:T;
high_frequency_row(:,i_hr)=f1(:,i_hr)-f2(:,i_hr);
end;
% high_frequency_row(:,T+1)=high_frequency_row(:,1); % 補行
% C.更新
for i_lr=1:T;
low_frequency_row(:,i_lr)=f2(:,i_lr)+1/2*high_frequency_row(:,i_lr);
end;
% D.合并
f_row(:,[1:1:T])=low_frequency_row(:,[1:T]);
f_row(:,[T+1:1:N])=high_frequency_row(:,[1:T])
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -