已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用 MATLAB 小波工具箱进行小波分析: 如上图所示的小波分解过程,可以调用 wfilters 来获得指定小波的分解和综合滤波器系数,例如:% Set wavelet name. wname = db5;% Compute the four filters associated with wavelet name given % by the input string wname. Lo_D,Hi_D,Lo_R,Hi_R = wfilters(wname); subplot(221); stem(Lo_D); title(Decomposition low-pass filter); subplot(222); stem(Hi_D); title(Decomposition high-pass filter); subplot(223); stem(Lo_R); title(Reconstruction low-pass filter); subplot(224); stem(Hi_R); title(Reconstruction high-pass filter); xlabel(The four filters for db5)% Editing some graphical properties,% the following figure is generated.以上例子,得到db5小波的分解和综合滤波器系数,并显示出来。下面是wfilters的具体用法:Wname 可指定为列表中的任意一种小波,直接调用Lo_D,Hi_D,Lo_R,Hi_R = wfilters(wname)会返回分解和综合滤波器系数。如果只想返回其中的一些而不是全部,可以调用F1,F2 = wfilters(wname,type)其中type可指定为4种类型,每种类型的具体意义详见matlab wfilters帮助。查看具体小波的信息waveinfo(wname)获得一个标准的正交变换/双正交变换 的尺度和小波函数(数字近似值)PHI,PSI,XVAL = wavefun(wname,ITER)PHI1,PSI1,PHI2,PSI2,XVAL = wavefun(wname,ITER)例如% Set number of iterations and wavelet name. iter = 10;wav = sym4;% Compute approximations of the wavelet function using the% cascade algorithm. for i = 1:iter phi,psi,xval = wavefun(wav,i); plot(xval,psi); hold on endtitle(Approximations of the wavelet ,wav, . for 1 to ,num2str(iter), iterations); hold off如果已知小波分解滤波器系数,计算小波变换的最简单方法就是C,S = wavedec2(X,N,wname)C,S = wavedec2(X,N,Lo_D,Hi_D)反过来,已知小波综合滤波器系数,计算反小波变换,只需X = waverec2(C,S,wname)X = waverec2(C,S,Lo_R,Hi_R)% 图片的小波分解clear allclcim = 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,colormap graysubplot(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 = appcoef2(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.4 toolboxclear allclcim = 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.4 toolbox 的说明文档官方网站。小波综合(重建):waverec2X = waverec2(C,S,wname)X = waverec2(C,S,Lo_R,Hi_R)C,S是使用小波分解函数wavedec2得到的小波矢量和矢量描述矩阵,或者符合这种规定形式的数据。返回X是实数图像矩阵,由于计算误差,可能需要经过一些处理才能正常显示。% 小波综合clear allclcim = imread(././std_images/lena.bmp); %灰度im = double(im);Lo_D,Hi_D = wfilters(haar,d); C,S = wavedec2(im,2,Lo_D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论