Matlab小波工具箱入门.docx

上传人:b****5 文档编号:28116477 上传时间:2023-07-08 格式:DOCX 页数:10 大小:200.06KB
下载 相关 举报
Matlab小波工具箱入门.docx_第1页
第1页 / 共10页
Matlab小波工具箱入门.docx_第2页
第2页 / 共10页
Matlab小波工具箱入门.docx_第3页
第3页 / 共10页
Matlab小波工具箱入门.docx_第4页
第4页 / 共10页
Matlab小波工具箱入门.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Matlab小波工具箱入门.docx

《Matlab小波工具箱入门.docx》由会员分享,可在线阅读,更多相关《Matlab小波工具箱入门.docx(10页珍藏版)》请在冰豆网上搜索。

Matlab小波工具箱入门.docx

Matlab小波工具箱入门

使用MATLAB小波工具箱进行小波分析:

fKJURE7S\

Imir-kuklTUl

.

如上图所示的小波分解过程,可以调用wfilters来获得指定小波的分解和综合

滤波器系数,例如:

%Setwaveletname.

wname='db5:

%Computethefourfiltersassociatedwithwaveletnamegiven

%bytheinputstringwname.

[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(wname);

subplot(221);stem(Lo_D);

title('Decompositionlow-passfilter');

subplot(222);stem(Hi_D);

title('Decompositionhigh-passfilter');

subplot(223);stem(Lo_R);

title('Reconstructionlow-passfilter');

subplot(224);stem(Hi_R);title('Reconstructionhigh-passfilter');xlabel('Thefourfiltersfordb5')%Editingsomegraphicalproperties,%thefollowingfigureisgenerated.

以上例子,得到’db5'小波的分解和综合滤波器系数,并显示出来。

下面是

wfilters的具体用法:

wfilters

WavdeiSzcis

[Lo_D,Hi^D・LO-BL二wfilrerst*vnarrs*I

[Fl,F2J-wfilters{rvra^w,■右

Dt5trtption

[lo_C/Hz.t>fto_RfHiA]=wfilt&ra(*vr:

ai:

eTicomputt^fourChersassociatedx\iilithe«ih&f

Helowotnpinfilersare

*itO-Di6號ehm血归nk'v-pa^sfltn

•i>oi_R1xherec&nstnKboaL«v-passfiber

・i_R,Therrcon^oructicohigbp章鹑fiher

Ataihbkmh«gpuJorbiwho戡ndwivdctTunica'丁辭口肚主*arclimdmtheublcbek?

^'

Wiv«E«tFikiiiltes

Daubwhiei

・dbl*sr'ha«r1r*^2*rdblOBr*”

C^iflets

l

'coifl*t*.*t1coi£51

Symlets

■sym21f….声1syro81#■…J3yrn.4S*

;DU<«reXlever

dm^yrl

biorl-1','biorl.3\'biorl.S

・bicrB.l1f*bior3.3\%込医3・h・・bioc3・T

Tbicr3,9rf'bior^,4\'biorS.S^'biorG.S7

wfilters(•vnaiKc*f1type-*Irehsnsthefoliatingfitters.

 

Wname可指定为列表中的任意一种小波,直接调用

[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters('wname')

会返回分解和综合滤波器系数。

如果只想返回其中的一些而不是全部,可以调用

[F1,F2]=wfilters('wname','type')

其中’type'可指定为4种类型,每种类型的具体意义详见matlabwfilters

帮助。

查看具体小波的信息

waveinfo(‘wname)

获得一个标准的正交变换/双正交变换的尺度和小波函数(数字近似值)

[PHI,PSI,XVAL]=wavefun('wname',ITER)

[PHI1,PSI1,PHI2,PSI2,XVAL]=wavefun('wname',ITER)

例如

%Setnumberofiterationsandwaveletname.

iter=10;

wav='sym4:

%Computeapproximationsofthewaveletfunctionusingthe

%cascadealgorithm.

fori=1:

iter

[phi,psi,xval]=wavefun(wav,i);

plot(xval,psi);

holdon

end

title(['Approximationsofthewavelet',wav,...

'for1to',num2str(iter),'iterations']);

holdoff

如果已知小波分解滤波器系数,计算小波变换的最简单方法就是

[C,S]=wavedec2(X,N,'wname')

[C,S]=wavedec2(X,N丄o_D,Hi_D)

反过来,已知小波综合滤波器系数,计算反小波变换,只需

X=waverec2(C,S,'wname')

X=waverec2(C,S,Lo_R,Hi_R)

%图片的小波分解

clearall

clc

im=imread('../../std_images/lena.bmp);%灰度

im=double(im);

[Lo_D,Hi_D]=wfilters('haar;'d');

[C,S]=wavedec2(im,1,Lo_D,Hi_D);

isize=prod(S(1,:

));

%

cA=C(1:

isize);

cH=C(isize+(1:

isize));

cV=C(2*isize+(1:

isize));

cD=C(3*isize+(1:

isize));

%

cA=reshape(cA,S(1,1),S(1,2));

cH=reshape(cH,S(2,1),S(2,2));

cV=reshape(cV,S(2,1),S(2,2));cD=reshape(cD,S(2,1),S(2,2));%

figure,colormapgraysubplot(221),imagesc(cA);subplot(222),imagesc(cH);subplot(223),imagesc(cV);subplot(224),imagesc(cD);

其中C是小波变换后的结果数据,以一维矢量的形式组织,S是二维数组,记录了C中数据的分布形式,详见matlab的帮助文档。

此外,dwtmode可以设定输入的边界处理方式。

提取小波的系数。

前面使用的wavedec2得到的[C,S]不是非常的直观,可以利用小波工具箱中的函数appcoef2和detcoef2来提取近似矩阵和的n级的某一个细节矩阵。

A=即pcoef2(C,S,'wname',N)

A=appcoef2(C,S,'wname')

D=detcoef2(O,C,S,N)

针对特定的小波系数矩阵进行阈值化处理

NC=wthcoef2('type',C,S,N,T,SORH)

NC=wthcoef2('type',C,S,N)

NC=wthcoef2('a',C,S)

NC=wthcoef2('t',C,S,N,T,SORH)

使用wave2gray来显示小波分解的结果

%使用wave2gray显示小波分解的结果,来自dipum_1.1.4toolbox

clearallclc

im=imread('../../std_images/lena.bmp);%灰度

im=double(im);

[Lo_D,Hi_D]=wfilters('haar;'d');

[C,S]=wavedec2(im,2,Lo_D,Hi_D);

wave2gray(C,S);

关于wave2gray更多用法详见dipum_1.1.4toolbox的说明文档[官方网站]。

小波综合(重建):

waverec2

X=waverec2(C,S,'wname')

X=waverec2(C,S,Lo_R,Hi_R)

[C,S]是使用小波分解函数wavedec2得到的小波矢量和矢量描述矩阵,或者符合这种规定形式的数据。

返回X是实数图像矩阵,由于计算误差,可能需要经过一些处理才能正常显示。

%小波综合

clearall

clc

im=imread('../../std_images/lena.bmp);%灰度

im=double(im);

[Lo_D,Hi_D]=wfilters('haar;'d');

[C,S]=wavedec2(im,2,Lo_D,Hi_D);

X=waverec2(C,S,'haar');

%或者

%[Lo_R,Hi_R]=wfilters('haar','r');

%X=waverec2(C,S,Lo_D,Hi_D);

X=(X-min(X(:

)))/(max(X(:

))-min(X(:

)));

figure,imshow(X);

—凶

F>1«liltVioImm*1ToolsViodo*Kelp

11■□

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1