-
%
使用
Haar
小波
,得到相应的提升方案
lshaar=liftwave('haar');
% <
/p>
添加
ELS
到提升方案
< br>
els={'p',[-0.125 0.125],0}
lsnew=addlift(lshaar,els);
%
对于简单图像,尺度为
2
进行
LWT
x=reshape(1:16,4,4);
xDec=lwt2(x,lsnew,2)
%
提取第一层的低频系数
ca1=lwtcoef2('ca',xDec,lsnew,2,1)
%
重构低频和高频
a1=lwtcoef2('a',xDec,lsnew,2,1)
a2=lwtcoef2('a',xDec,lsnew,2,2)
h1=lwtcoef2('h',xDec,lsnew,2,1)
v1=lwtcoef2('v',xDec,lsnew,2,1)
d1=lwtcoef2('d',xDec,lsnew,2,1)
h2=lwtcoef2('h',xDec,lsnew,2,2)
v2=lwtcoef2('v',xDec,lsnew,2,2)
d2=lwtcoef2('d',xDec,lsnew,2,2)
%
检查重构效果
< br>err=max(max(abs(x-a2-h2-v2-d2-h1-v1-d1)))
M1=laurmat(eye(2,2))
Z=laurpoly(1,1);
M2=laurmat({1 Z;0 1})
%
计算劳伦多项式
P=M1*M2
d=det(P)
% <
/p>
得到
Haar
滤波器
[LoD,HiD,LoR,HiR]=wfilters('haar')
%
提升
Haar
滤波器
twoels(1)=struct('type
','p','value',laurpoly([0.125 -0.125],0));
twoels(2)=struct('type','p','value',laurpoly([
0.125 -0.125],1));
[LoDN,HiDN,LoRN,HiRN
]=liftfilt(LoD,HiD,LoR,HiR,twoels);
%
得到双正交小波
bior1.3
[L
oDB,HiDB,LoRB,HiRB]=wfilters('bior1.3');
somewavelet=isequal([LoDB,HiDB,LoRB,HiRB],[LoDN, -HiDN,LoRN,HiRN])
%
使用
H
aar
小波,得到相应的提升方案
lshaar=liftwave('haar');
% <
/p>
添加
ELS
到提升方案
< br>
els={'p',[-0.125 0.125],0}
lsnew=addlift(lshaar,els);
%
对于简单信号,进行
2
层
LWT
x=1:8;
xDec=lwt(x,lsnew,2)
%
提取尺度为
1
时的低频系数
ca1=lwtcoef('ca',xDec,lsnew,2,1)
%
重构低频和高频
a1=lwtcoef('a',xDec,lsnew,2,1)
a2=lwtcoef('a',xDec,lsnew,2,2)
d1=lwtcoef('d',xDec,lsnew,2,1)
d2=lwtcoef('d',xDec,lsnew,2,2)
%
检查重构效果
err=max(abs(x-a2-d2-d1))
%
定义劳伦多项式
P=laurpoly([1:3],2);
P=laurpoly([1:3],'dmax',2)
P=laurpoly([1:3],'dmin',2)
%
计算劳伦多项式
Z=laurpoly(1,1)
Q=Z*P
% <
/p>
得到
Haar
小波的提升方案
lshaar=liftwave('haar');
%
添加
ELS
到提升方案中
els={'p',[-0.125
0.125],0};
lsnew=addlift(lshaar,els);
%
进行单层提升小波分解
load noisdopp;
x=noisdopp;
[cA,cD]=lwt(x,lsnew);
figure(1);
subplot(311);
plot(x);
title('
原始信号
');
subplot(312);
plot(cA);
title('
提升小波分解的低频信号
');
subplot(313);
plot(cD);
title('
提升小波分解的高频信号
');
%
直接使用
Haar
小波进行
2
层提升小波分解
[cA,cD]=lwt(x,'haar',2);
figure(2);
subplot(311);
plot(x);
title('
原始信号
');
subplot(312);
plot(cA);
title('2
层提升小波分解的低频信号
'
);
subplot(313);
plot(cD); <
/p>
title('2
层提升小波分解的高频信号
');
%
得到
Haar
小波的提升方案
lshaar=liftwave('haar');
% <
/p>
添加
ELS
到提升方案中
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
%
2
层提升小波分解
load
noisdopp;
x=noisdopp;
xDec=lwt(x,lsnew,2);
%
提取第
1
层的近似系数
ca1=lwtcoef('ca',xDec,lsnew,2,1);
%
提取第
2
层的近似系数
ca2=lwtcoef('ca',xDec,lsnew,2,2);
%
提取第
1
层的细节系数
cd1=lwtcoef('cd',xDec,lsnew,2,1);
%
提取第
2
层的细节系数
cd2=lwtcoef('cd',xDec,lsnew,2,2);
subplot(311);
plot(x);
title('
原始信号
');
subplot(323);
plot(ca1);
title('
第一层近似信号
');
subplot(324);
plot(ca2);
title('
第二层近似信号
');
subplot(325);
plot(cd1);
title('
第一层细节信号
');
subplot(326);
plot(cd2);
title('
第二层细节信号
');
%
获得
d
b2
小波的提升方案
lsdb2=liftwave('db2');
%
显示提升方案
displs(lsdb2);
%
获得
sym2
小波的提升方案
lssym2=liftwave('sym2');
%
显示提升方案
displs(lssym2);
%
获得整数变换提升方案
lsdb2=liftwave('db2','Int2Int');
x=[1:10];
lwtx=lwt(x,lsdb2)
%
获得
H
aar
小波的提升方案
lshaar=liftwave('haar');
% <
/p>
将提升步骤
ELS
加入到提升方案中
p>
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
%
进行单层提升小波分解
load
noisdopp;
x=noisdopp;
subplot(211);
plot(x);
ylabel('x');
%
实施提升小波变换
[cA,cD]=lwt(x,lsnew);
xRec=ilwt(cA,cD,lsnew);
err=max(max(abs(x-xRec)))
subplot(212);
plot(xRec);
ylabel('xRec');
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
%
2
层提升小波分解
load
noisdopp;
x=noisdopp;
xDec=lwt(x,lsnew,2);
%
重构近似信号和细节信号
a1=lwtcoef('a',xDec,lsnew,2,1);
a2=lwtcoef('a',xDec,lsnew,2,2);
d1=lwtcoef('d',xDec,lsnew,2,1);
d2=lwtcoef('d',xDec,lsnew,2,2);
%
检查重构误差
err=max(abs(x-a2-d2-d1))
subplot(311);
plot(x);
title('
原始信号
');
subplot(323);
plot(a1);
title('
重构第一层近似信号
');
subplot(324);
plot(a2);
title('
重构第二层近似信号
');
subplot(325);
plot(d1);
title('
重构第一层细节信号
');
subplot(326);
plot(d2);
title('
重构第二层细节信号
');
%
得到
Haar
小波的提升方案
lshaar=liftwave('haar');
% <
/p>
将提升步骤
ELS
添加到提升方案中
p>
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
%
2
层提升小波分解
load
noisdopp;
x=noisdopp;
subplot(211);
plot(x);
ylabel('x');
%
对信号实施整数提升小波变换
lshaarInt=liftwave('haar','int2int');
lsnewInt=addlift(lshaarInt,els);
[cAint,cDint]=lwt(x,lsnewInt);
%
实施提升小波变换
xRecInt=ilwt(cAint,cDint,lsnewInt);
errInt=max(max(abs(x-xRecInt)))
subplot(212);
plot(xRecInt);
ylabel('xRecInt');
%
使用
Haar
小波,得到相应的提升方案
lshaar=liftwave('haar');
% <
/p>
添加
ELS
到提升方案
< br>
els={'p',[-0.125 0.125],0}
lsnew=addlift(lshaar,els);
%
对于简单信号,尺度为
1
进行
LWT
x=1:8;
[cA,cD]=lwt(x,lsnew)
%
对上面的信号,进行整数
LWT
lshaarInt=liftwave('haar','int2int');
lsnewInt=addlift(lshaarInt,els);
[cAint,cDint]=lwt(x,lsnewInt)
%
使用
H
aar
小波,得到相应的提升方案
lshaar=liftwave('haar');
% <
/p>
添加
ELS
到提升方案
< br>
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
%
对于简单信号,尺度为
1
进行
LWT
x=1:8;
[cA,cD]=lwt(x,lsnew);
%
对上面的信号,进行整数
LWT
lshaarInt=liftwave('haar','int2int');
lsnewInt=addlift(lshaarInt,els);
[cAint,cDint]=lwt(x,lsnewInt);
%
进行逆变换
xRec=ilwt(cA,cD,lsnew);
err=max(max(abs(x-xRec)))
xRecInt=ilwt(cAint,cDint,lsnewInt);
errInt=max(max(abs(x-xRecInt)))
clc;
load woman;
nbc=size(map,1);
%
得到
Haar
小波的提升方案
lshaar=liftwave('haar');
% <
/p>
将提升步骤
ELS
添加到提升方案中
p>
els={'p',[-0.125 0.125],0};
lsnew=addlift(lshaar,els);
load woman;
%
进行一层提升小波分解
[cA,cH,cV
,cD]=lwt2(X,lsnew);
length=size(cA,1);
c=zeros(1,length*length*4);
for i=1:length;
c((i-1)*length+1:i*length)=cA(:,i);
end;
for
i=length+1:2*length;
c((i-1)*length+
1:i*length)=cH(:,i-length);
end;
for i=2*length+1:3*length;
c((
i-1)*length+1:i*length)=cV(:,i-2*length);
end;
-
-
-
-
-
-
-
-
-
上一篇:英美语言差异故事和知识点
下一篇:二分类模型性能评价