㈠ matlab怎么用小波包进行图像去噪
小波图像去噪的方法大概分为3类
1:基于小波变换摸极大值原理
2:基于小波变换系数的相关性
3:基于小波阈值的去噪。
基于小波阈值的去噪方法3个步骤:
1: 计算含噪声图像的小波变换。选择合适的小波基和小波分解层数J,运用Matlab 分解算法将含有噪声图像进行J层小波分解,得到相应的小波分解系数。
2:对分解后的高频系数进行阈值量化,对于从1 到J的每一层,选择一个适当的阈值和合适的阈值函数,将分解得到的高频系数进行阈值量化,得到估计小波系数。
3:进行小波逆变化,根据图像小波分解后的第J层,低频 系数(尺度系数)和经过阈值量化处理的各层高频系数(小波系数),运用Matlab重构算法进行小波重构,得到去噪后的图像。
㈡ 求助matlab中的小波工具包
打开matlab软件,进入软件主界面在软件的左下方找到start按钮,点击选择toolbox,然后选择wavelet进入wavemenu界面,选择一维小波中的wavelet1-D并进入 7.选择要处理的信号,界面出现loaded信号,这就是没有去噪前的原9.分析后在左边栏目中出现s,a*,d*,其中s为原信号,a*为近似信号,d*为细节信号11.阈值方法常用的有4种fixed(固定阈值),rigorsure,heusure,minmax根据需要选择,一般情况下rigorsure方式去噪效果较好12.oft(软阈值),hard(硬阈值)一般选择软阈值去噪后的信号较为平滑13.在噪声结构中选择unscaled white noise,因为在工程应用中的噪声一般不仅仅含有白噪声14.在噪声结构下面的数值不要随意改,这是系统默认的去噪幅度16.在此窗口下点击file-save denoised singal,保存输出去噪后的信号18.去噪结束后,把去噪后信号(.mat格式)拖至matlab主界面的workspace中,与原信号一起打包,以便以后计算统计量不会用就查帮助文档啊!waverec函数是不需要你自己加零延拓的,上面的代码完全不知所谓,waverec函数的使用是要依赖wavedec函数得到的CL组构的,CL组构中存放小波系数的数组C本身就已经延拓了,而且你不知道它对数据延拓了多少,延拓的方式有多种根本不是你这样直接加零就行的。我发现你很有才,经常提问和编出一些匪夷所思的问题和代码,不耻下问的精神是好的,但我个人是很不提倡这种做法的,有时间在这打字提问,不如找几本基础参考书看看,不了解就查吗,不明白就往明白搞吗,但看你这些“新奇”的问题和代码真很抓狂,自己对于这些基本问题都懒得琢磨,打着勤奋好学,不耻下问的幌子,太没劲了!哦,看错了,waverec函数是可以用上面的代码的,我看成wrcoef函数了,wrcoef函数可以实现waverec、upwlev和upcoef三个函数的功能之和,所以比waverec函数应用简单,不需要你将其他分量置零,用它实现小波工具箱功能最方便。
㈢ 高分请教!小波去噪的matlab程序,在线等~~~~~~~~~~~
供参考:
lev=5;
[c,l]=wavedec(x,lev,wname);
sigma=wnoisest(c,l,1);
alpha=2;
thr1=wbmpen(c,l,sigma,alpha)
[thr2,nkeep]=wdcbm(c,l,alpha)
xd1=wdencmp('gbl',c,l,wname,lev,thr1,'s',1);
[xd2,cxd,lxd,perf0,perfl2]=wdencmp('lvd',c,l,wname,lev,thr2,'h');
[thr,sorh,keepapp]=ddencmp('den','wv',x)
xd3=wdencmp('gbl',c,l,wname,lev,thr,'s',1);
subplot(411);plot(x);title('原始信号','fontsize',12);
subplot(412);plot(xd1);title('使用penalty阈值降噪后信号','fontsize',12);
subplot(413);plot(xd2);title('使用Birge-Massart阈值降噪后信号','fontsize',12);
subplot(414);plot(xd3);title('使用缺省阈值降噪后信号','fontsize',12);
s=[-1.58 0.42 0.46 0.78 -0.49 0.59 -1.3 -1.42 -0.16 -1.47 -1.35 0.36 -0.44 -0.14 1 -0.5 -0.2 -0.06 -0.6 0.42 -1.52 0.51 0.76 -1.5 0.16 -1.29 -0.65 -1.48 0.6 -1.65 -0.55];
[C,L]=wavedec(s,1,'db3');
ca1=wrcoef('a',C,L,'db3',1);
x1=ca1 ;
[C,L]=wavedec(s,2,'db3');
ca2=wrcoef('a',C,L,'db3',2);
x2=ca2 ;
[C,L]=wavedec(s,3,'db3');
ca3=wrcoef('a',C,L,'db3',3);
x3=ca3 ;
[C,L]=wavedec(s,4,'db3');
ca4=wrcoef('a',C,L,'db3',4);
x4=ca4 ;
cg = wrcoef('a',C,L,'sym5',1);
x5=cg;
p=1:31;
subplot(6,1,1);plot(p,s);ylabel('s');
subplot(6,1,2);plot(p,x1);ylabel('ca1');
subplot(6,1,3);plot(p,x2);ylabel('ca2');
subplot(6,1,4);plot(p,x3);ylabel('ca3');
subplot(6,1,5);plot(p,x4);ylabel('ca4')
subplot(6,1,6);plot(p,x5);ylabel('ca5') %加入的重构,是不是你要的?
㈣ 怎样在matlab中对曲线去除噪音
MATLAB有小波去噪的函数,直接调用就行,过程都自动完成。
㈤ 用matlab中工具箱进行小波去噪步骤
matlab读取excel文件比较方便,建议你把数据放到xls文件中保存,然后在matlab中用xlsread这个函数读取出来。版
读取出的数据应该是一权个一维数组了,用plot画出图的话,就是常见的曲线。
然后做小波分解:选用你觉得合适的小波基,例如haar,然后用这个小波基做小波分解,再把高频部分去掉,然后用低频部分还原,就得到了去噪后的信号。
其实你这个问题估计也可以用神经网络或者其它曲线拟合一类手段来解决。具体的情况要根据数据特征来判断。
以上。
专业路过的老狼
㈥ matlab 小波去噪
用matlab做图像去噪,axes1显示原始图像,axes2显示噪声图像,噪声图像用bm定义了全局变量,在进行小波去噪前,先将噪声图像转换成mat格式再加载,现在我用 global bm ; save lena.mat;
控件的属性变成可执行,或者执行顺序。
㈦ 小波去噪matlab程序
哈哈!傻眼了吧,理论和实际不可兼得啊!对于你这个问题有如下建议:
小波去噪的试验,十个有九个都喜欢用正、余弦函数,但由于小波函数的几何特征,其实不易得到满意效果,你只能选择线性强的小波基,即对称性强并且光滑的小波,嘿嘿,貌似能做DWT的所有小波基中只有sym8的对称性最强(参看http://..com/question/585223273699457565.html?from=pubpage&msgtype=2),这样你将会得到其降噪效果好于其它小波基的谬论,实际应用中如果原始信号本身特征就不规律对称则有可能其它小波基的处理效果会好于sym8,这需要试错的方法试验,是你这个原始信号对称的前提假设造成的,但不可认为sym8适合你这个特殊例子就得出结论,你这试验只适合你的假设,其实并不适合所有情形,个人认为其实不具说服力和可比性。如同我家钥匙开不了你家门,是不能得出我家钥匙不如你家钥匙的结论滴。
当你的噪声特征与信号的特征的频率相近时,小波也无能为力,它不是神,也一样分不出啥是噪声,所以其一是可增加分解层数,你这个信号只有100个数,5层已经很高了,再增大也没啥用了,可能会过多显示小波基的特征,造成扭曲失真(如果用SWT会好很多,但需要自己编制函数);其二是参数SCAL可以改为伸缩的sln,而不是固定的one,这样分解层数和SCAL都将起作用,你可以试着改改玩,效果还行。
分解8层
你可以试试只分解一层的状况,频率最低的几处噪声会保留下来哦!
㈧ 关于多小波去噪MATLAB程序
是不能得出我家钥匙不如你家钥匙的结论滴,所以其一是可增加分解层数,你这个信号只有100个数,其实不易得到满意效果,你只能选择线性强的小波基,你这试验只适合你的假设,其实并不适合所有情形,个人认为其实不具说服力和可比性。如同我家钥匙开不了你家门,效果还行。
㈨ matlab中的小波工具箱怎么用,希望能详细介绍
将原始数据文件夹到装有matlab的电脑
打开matlab软件,进入软件主界面
在软件的左下方找到start按钮,点击选择toolbox,然后选择wavelet
进入wavemenu界面,选择一维小波中的wavelet1-D并进入
5.将数据文件(.Mat格式)托到matlab软件主界面的workspace
6.在wavemenu主界面中选择file-load signal或者import from workspace—import signal
7.选择要处理的信号,界面出现loaded信号,这就是没有去噪前的原
始信号
8.右上角选择用于小波分析的小波基以及分解层数并点击analyse开始分析
9.分析后在左边栏目中出现s,a*,d*,其中s为原信号,a*为近似信号,d*为细节信号
10.然后点击denoise去噪
11.阈值方法常用的有4种fixed(固定阈值),rigorsure,heusure,minmax根据需要选择,一般情况下rigorsure方式去噪效果较好
12.oft(软阈值),hard(硬阈值)一般选择软阈值去噪后的信号较为平滑
13.在噪声结构中选择unscaled white noise,因为在工程应用中的噪声一般不仅仅含有白噪声
14.在噪声结构下面的数值不要随意改,这是系统默认的去噪幅度
15.点击denoise开始正式去噪
16.在此窗口下点击file-save denoised singal,保存输出去噪后的信号
17.去噪结束
18.去噪结束后,把去噪后信号(.mat格式)拖至matlab主界面的workspace中,与原信号一起打包,以便以后计算统计量
19.Matlab编程计算相关统计量以及特征量
20.得出统计量和特征量后结束
㈩ 用matlab软件怎么进行小波分析
它自己有小波工具箱,wav开头的,里面有很多相关函数,一般直接用就是了。初学建议看帮助里面小波工具箱的demo,可能更好理解。