关键词不能为空

当前您在: 主页 > 英语 >

提升小波及其算法-基本程序-有说明

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 18:26
tags:

-

2021年2月28日发(作者:jodhpur)


%


使用


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


小波的提升方案

< p>


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);


%

< p>
提取第


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


加入到提升方案中



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


添加到提升方案中



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


添加到提升方案中



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;

-


-


-


-


-


-


-


-



本文更新与2021-02-28 18:26,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/682962.html

提升小波及其算法-基本程序-有说明的相关文章