赞
踩
一、小波滤波:
随着小波理论的日益完善,其以自身良好的时频特性在图像去噪领域受到越来越多的关注,开辟了用非线性方法去噪的先河。具体来说,小波能够去噪主要得益于小波变换有如下特点:
(1)低熵性。小波系数的稀疏分布,使图像变换后的熵降低。 意思是对信号(即图像)进行分解后,有更多小波基系数趋于0(噪声),而信号主要部分多集中于某些小波基,采用阈值去噪可以更好的保留原始信号。
(2)多分辨率特性。由于采用了多分辨方法,所以可以非常好地刻画信号的非平稳性,如突变和断点等(例如0-1突变是傅里叶变化无法合理表示的),可以在不同分辨率下根据信号和噪声的分布来消除噪声。
(3)去相关性。小波变换可对信号去相关,且噪声在变换后有白化趋势,所以小波域比时域更利于去噪。
(4)基函数选择灵活。小波变换可灵活选择基函数,也可根据信号特点和去噪要求选择多带小波和小波包等(小波包对高频信号再次分解,可提高时频分辨率),对不同场合,选择不同小波基函数。
根据基于小波系数处理方式的不同,常见去噪方法可分为三类:
(1)基于小波变换模极大值去噪(信号与噪声模极大值在小波变换下会呈现不同变化趋势)
(2)基于相邻尺度小波系数相关性去噪(噪声在小波变换的各尺度间无明显相关性,信号则相反)
(3)基于小波变换阈值去噪
小波去噪实现步骤:
(1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N层的分解。
(2)对高频系数进行阈值量化。对于从1~N的每一层,选择一个阈值,并对这一层的高频系数进行软阈值量化处理。
(3)二维小波重构。根据小波分解的第N层的低频系数和经过修改的从第一层到第N的各层高频系数,计算二维信号的小波重构
小波去噪的MATLAB程序:
- clc
- clear;
- zyy = imread('y.jpg'); %读取原图像
- subplot(221);
- imshow(zyy);
- title('原图');
- X=imread('chuzao.jpg'); %具有噪声的图片
- X=rgb2gray(X);
- subplot(222);
- imshow(X);
- title('待处理噪声');
- X=double(X);
- %用小波函数coif2对图像X进行2层
- % 分解
- [c,l]=wavedec2(X,2,'coif2');
- % 设置尺度向量
- n=[1,2];
- % 设置阈值向量 , 对高频小波系数进行阈值处理
- p=[10.28,24.08];
- nc=wthcoef2('h',c,l,n,p,'s');
- % 图像的二维小波重构
- X1=waverec2(nc,l,'coif2');
- subplot(223);
- imshow(uint8(X1));
- %colormap(map);
- title(' 小波第一次消噪后的图像 ');
- %再次对高频小波系数进行阈值处理
- mc=wthcoef2('v',nc,l,n,p,'s');
- % 图像的二维小波重构
- X2=waverec2(mc,l,'coif2');
- subplot(224);
- imshow(uint8(X2));
- titl
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。