matlab小波变换函数的总结与程序_matlab小波函数总结
matlab小波变换函数的总结与程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab小波函数总结”。
小波去噪举例
MATLAB中用wnoise函数测试去噪算法
sqrt_snr=3;init=231434;
[x,xn]=wnoise(3,11,sqrt_snr,init);% 加噪,信噪比为3 subplot(3,2,1),plot(x)
title('original test function')subplot(3,2,2),plot(xn)title('noised function')lev=5;
xd=wden(x,'heursure','s','one',lev,'sym8');%利用小波对一维信号进行降噪, XD为降噪后的%信号,CXD,LXD为XD的小波分解结构 % 's' or 'h'决定阈值的使用方式,SCAL决定阈值是%否随噪声变化:'one' 不调整,'sln'对第一层系%数的层噪声分别进行估计和调整; 'mln'对各层%系数的层噪声分别进行估计和调整;
subplot(3,2,3),plot(xd)
title('One de-noised function')xd=wden(x,'heursure','s','sln',lev,'sym8');subplot(3,2,4),plot(xd)
title('Sln de-noised function')xd=wden(x,'sqtwolog','s','sln',lev,'sym8');% 固定阈值选择算法去噪 subplot(3,2,5),plot(xd)
title('Sqtwolog de-noised function')
[c,l]=wavedec(x,lev,'sym8');subplot(3,2,6),plot(xd)
title('CL de-noised function')
MATLAB中图像噪声处理举例
load sinsin;
colormap('default');subplot(1,3,1),image(X);title('original image');axis('square');init=231434;
randn('seed',init);
X=X+18*randn(size(X));%产生噪声信号 subplot(1,3,2),image(x);title('noised image');axis('square');[thr,sorh,keepapp]=ddencmp('den','wv',x);%自动生成小波去躁或压缩的阈值选择方案,也 %就是寻找默认值
[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);%使用全局阈值进行
%图象降噪
subplot(1,3,3),image(xc);title('denoised image');axis('square')
可见,含躁图像的噪声含量很强,利用小波去躁,可以有效去除躁声,同时保留了边界。Wdencmp函数
[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp)是使用小波进行一维或二维小波压缩或降噪的函数。前面的语句是对于输入的一维或二维信号X,使用全局正阈值THR,由小波系数阈值得到降噪或压缩后的信号XC。附加的输出变量[cxc,lxc]是XC的小波分解结构; [perf0,perfl2]是恢复和压缩的L2范数百分比。使用小波'sym4'执行小波分解到第N=2层。Sorh是软阈值或硬阈值。若keepapp=1,低频系数不能进行阈值处理。