📄 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 + -