📄 lwavedec2.m
字号:
function f_row=lwavedec2(image,N)
f=double(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;
%hign_frequency_column(T+1,:)=high_frequency_column(1,:);%补行
%C.更新
for i_lc=1:T
low_frequency_column(i_lc,:)=f2(i_lc,:)+floor(high_frequency_column(i_lc,:)/2);
end;
%D.合并
f_column([1:1:T],:)=low_frequency_column([1:T],:);
f_column([T+1:1:N],:)=high_frequency_column([1:T],:);
%figure(2)
%map=gray(256);
%subplot(1,2,1);imshow(uint8(f_column));colormap(map):title('列变换图像');
%%%%%%%%%%%%%%%%%%%%%%%%%
%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)+floor(high_frequency_row(:,i_lr)/2);
end;
%D.合并
f_row(:,[1:1:T])=low_frequency_row(:,[1:T]);
f_row(:,[T+1:1:N])=high_frequency_row(:,[1:T]);
%map=gray(256);
%subplot(1,2,2);imshow(uint8(f_row));colormap(map);title('行变换图像');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -