matlab怎么用小波包进行图像去噪

matlab怎么用小波包进行图像去噪,第1张

小波图像去噪的方法大概分为3类

1:基于小波变换摸极大值原理

2:基于小波变换系数的相关性

3:基于小波阈值的去噪。

基于小波阈值的去噪方法3个步骤:

1: 计算含噪声图像的小波变换。选择合适的小波基和小波分解层数J,运用Matlab 分解算法将含有噪声图像进行J层小波分解,得到相应的小波分解系数。

2:对分解后的高频系数进行阈值量化,对于从1 到J的每一层,选择一个适当的阈值和合适的阈值函数,将分解得到的高频系数进行阈值量化,得到估计小波系数。

3:进行小波逆变化,根据图像小波分解后的第J层,低频 系数(尺度系数)和经过阈值量化处理的各层高频系数(小波系数),运用Matlab重构算法进行小波重构,得到去噪后的图像。

按照你上面的代码,a3 dd3 dd2 dd1是应该都为行向量,它们的长度a3和dd3长度相等,dd2约等于其一倍,dd1又是dd2的约一倍左右,c1=[a3 dd3 dd2 dd1]是4个行向量按顺序依次组成总小波系数数组,这代码没啥问题,waverec和wavedec函数都是依靠CL组构的,它对C处理没啥难以理解的,L数组存放的就是a3 dd3 dd2 dd1长度值,靠他在C中取出最高阶的a和其他各阶的d,a和d的小波系数本来就不等长,这样才能实现DWT理论中各层分解中小波函数伸长的效果。就是因为它们不等长,用元胞数组 *** 作太麻烦,所以才把系数混排成一行,再加一个长度数组L共同 *** 作来访问数据。所以不知道你对这有啥疑问?

4个title说的很清楚了。

xwpd = wpdencmp(ns,'s',4,'sym4','sure',thr,1)

xwd = wden(ns,'rigrsure','s','one',4,'sym4')

这2句是降噪的。sym4是小波基,rigrsure基于stein的无偏似然估计的自适应阈值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7808443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存