当前位置:   article > 正文

混合算法的图像去噪的matlab程序(主要讲述小波+NL-means的图像去噪)_混合去噪

混合去噪

一、小波滤波:

 随着小波理论的日益完善,其以自身良好的时频特性在图像去噪领域受到越来越多的关注,开辟了用非线性方法去噪的先河。具体来说,小波能够去噪主要得益于小波变换有如下特点

1)低熵性。小波系数的稀疏分布,使图像变换后的熵降低。 意思是对信号(即图像)进行分解后,有更多小波基系数趋于0(噪声),而信号主要部分多集中于某些小波基,采用阈值去噪可以更好的保留原始信号。

2)多分辨率特性。由于采用了多分辨方法,所以可以非常好地刻画信号的非平稳性,如突变和断点等(例如0-1突变是傅里叶变化无法合理表示的),可以在不同分辨率下根据信号和噪声的分布来消除噪声。

3)去相关性。小波变换可对信号去相关,且噪声在变换后有白化趋势,所以小波域比时域更利于去噪。

4)基函数选择灵活。小波变换可灵活选择基函数,也可根据信号特点和去噪要求选择多带小波和小波包等(小波包对高频信号再次分解,可提高时频分辨率),对不同场合,选择不同小波基函数。  

根据基于小波系数处理方式的不同,常见去噪方法可分为三类

1)基于小波变换模极大值去噪(信号与噪声模极大值在小波变换下会呈现不同变化趋势)

2)基于相邻尺度小波系数相关性去噪(噪声在小波变换的各尺度间无明显相关性,信号则相反)

3)基于小波变换阈值去噪

小波去噪实现步骤:

1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N层的分解。

2)对高频系数进行阈值量化。对于从1~N的每一层,选择一个阈值,并对这一层的高频系数进行软阈值量化处理。

3)二维小波重构。根据小波分解的第N层的低频系数和经过修改的从第一层到第N的各层高频系数,计算二维信号的小波重构

小波去噪的MATLAB程序:

  1. clc
  2. clear;
  3. zyy = imread('y.jpg'); %读取原图像
  4. subplot(221);
  5. imshow(zyy);
  6. title('原图');
  7. X=imread('chuzao.jpg'); %具有噪声的图片
  8. X=rgb2gray(X);
  9. subplot(222);
  10. imshow(X);
  11. title('待处理噪声');
  12. X=double(X);
  13. %用小波函数coif2对图像X进行2
  14. % 分解
  15. [c,l]=wavedec2(X,2,'coif2');
  16. % 设置尺度向量
  17. n=[1,2];
  18. % 设置阈值向量 , 对高频小波系数进行阈值处理
  19. p=[10.28,24.08];
  20. nc=wthcoef2('h',c,l,n,p,'s');
  21. % 图像的二维小波重构
  22. X1=waverec2(nc,l,'coif2');
  23. subplot(223);
  24. imshow(uint8(X1));
  25. %colormap(map);
  26. title(' 小波第一次消噪后的图像 ');
  27. %再次对高频小波系数进行阈值处理
  28. mc=wthcoef2('v',nc,l,n,p,'s');
  29. % 图像的二维小波重构
  30. X2=waverec2(mc,l,'coif2');
  31. subplot(224);
  32. imshow(uint8(X2));
  33. titl
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/303236
推荐阅读
相关标签
  

闽ICP备14008679号