小波降噪的代码详解

clear all;        
load woman;          %载入带噪声的图像
init=2055615866;         %生成含噪图像并显示
randn('seed',init);
XX=X+2*randn(size(X));
[c,l]=wavedec2(XX,2,'db2');     %对图像进行消噪处理,用db2小波函数对x进行两层分解a2=wrcoef2(‘a’,c,l, ’db2’,2);     %重构第二层图像的近似系数
a2=wrcoef2('a',c,l,'db2',2);
n=[1,2];          %设置尺度向量
p=[10.28,24.08];             %设置阈值向量
nc = wthcoef2('t',c,l,n,p,'s');      %对高频小波系数进行阈值处理
mc = wthcoef2('t',nc,l,n,p,'s');    %再次对高频小波系数进行阈值处理
X2=waverec2(mc,l,'db2');     %图像的二维小波重构
colormap(map);
subplot(131),image(XX),axis square;
title('含噪图像');
subplot(132),image(a2),axis square;
title('小波分解去噪');
subplot(133),image(X2),axis square;
title('小波阈值去噪');
ps = sum(sum((X-mean(mean(X))).^2));  %计算信噪比
Pn = sum(sum((a2-X).^2));
disp('利用小波2层分解去噪的信噪比');
snr1 = 10*log10(Ps/Pn)
disp('利用小波阈值去噪的信噪比');
Pn1 = sum(sum((X2-X).^2));
snr2 = 10*log10(Ps/Pn1);
  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值