第1章绪论由于各种各样的原因,现实中的图像都是带噪声的。
噪声恶化了图像质量,使图像变得模糊。
对同时含有高斯噪声和椒盐噪声的图像先进行混合中值滤波,在滤除椒盐噪声的同时,又很好地保留了图像中的物体细节和轮廓。
小波域去噪处理具有很好的时频特性、多分辨分析特性等优点,可以看成特征提取和低通滤波功能的综合。
小波模极大值去噪方法能有效地保留信号的奇异点信息,去噪后的信号没有多余振荡,具有较好的图画质量,改进后可以得到更满意的图像。
小波相位滤波去噪算法是基于小波变换系数相关性去噪算法的,适于强噪声图像,去噪后也可以改善图像质量。
1.1课题背景图像信息以其信息量大、传输速度快、作用距离远等优点成为人类获取信息的重要来源及利用信息的重要手段,而现实中的图像由于种种原因都是带噪声的。
噪声恶化了图像质量,使图像模糊,甚至淹没和改变特征,给图像分析和识别带来困难。
为了去除噪声,会引起图像边缘的模糊和一些纹理细节的丢失。
反之,进行图像边缘增强也会同时增强图像噪声。
因此在去除噪声的同时,要求最小限度地减小图像中的信息,保持图像的原貌。
经典的图像去噪算法,如均值滤波、维纳滤波、中值滤波等,其去噪效果都不是很理想。
中值滤波是由图基(Turky)在1971年提出的,开始用于时间序列分析,后来被用于图像处理,在去噪复原中得到了较好的效果。
它的基本原理是把数字图像或数字序列中的一点的值,用该点的一个邻域中的各点的中值代替。
中值滤波在抑制椒盐噪声的同时又能较好地保持图像特征,图像也得到了平滑。
对同时含有高斯噪声和椒盐(脉冲)噪声的图像,先进行混合中值滤波处理。
基于极值的混合中值滤波兼容了中值滤波和线性滤波的优点,在滤除椒盐噪声的同时又对图像中的物体细节和轮廓进行了很好的保留。
基于混合中值滤波和小波去噪相结合的方法,去噪效果好于单纯地使用小波变换去除噪声,或者单纯使用混合中值滤波去除噪声,能获得比单一使用任何一种滤波器更好的效果。
小波分析是20世纪80年代初Morlet提出的,经过20多年的研究,小波分析目前在图像处理等领域中得到广泛的应用。
去噪处理是小波分析的一个重要应用,尤其是对高斯噪声的滤除。
小波域信号去噪在兼容去噪和保留信号有意义特征方面,具有十分诱人的前景。
其主要原因是小波变换具有很好的时频特性、多分辨分析特性等优点,可以看成特征提取和低通滤波功能的综合。
小波模极大值去噪方法主要适用于信号中混有高斯噪声,且信号中含有较多奇异点的情况。
该方法在去噪的同时能有效地保留信号的奇异点信息,去噪后的信号没有多余振荡,是原始信号的一个非常好的估计,且具有较好的图画质量。
但是信噪比比较低时,模极大值去噪方法的效果不好,改进后则可以得到满意的图像。
由于信号与噪声的幅值在小波变换下有不同的传播特性,因此多数去噪算法都是基于小波系数的幅值特性而设计的。
小波相位去噪算法是基于小波变换系数相关性,是一种对幅度不敏感的小波去噪算法。
该去噪算法适于强噪声图像,即信噪比较高的图像,去噪后也可以改善图像质量。
1.2本文的工作本文首先对当前比较成功的图像去噪算法,均值滤波、中值滤波、维纳滤波和小波域去噪等图像去噪技术有一个较为全面的分析和比较。
其次,针对实际去噪问题和去噪要求设计出较合理的三种去噪算法:混合中值滤波和小波域去噪相结合的算法、小波模极大值去噪、小波相位去噪。
本文分析和阐述了这三种去噪方法的原理和特点,最后将这些去噪方法用MATLAB程序仿真实现,完成图像的去噪处理。
第2章经典图像去噪技术的介绍随着科学技术的发展,图像去噪的方法越来越多。
经典的图像去噪算法有均值滤波、中值滤波、维纳滤波等等。
这些去噪方法都有各自的优点和不足。
2.1图像噪声2.1.1噪声来源①在光电、电磁转换过程中引起的人为噪声。
②大气层电(磁)暴、闪电、电压和浪涌等引起的强脉冲性冲击干扰。
③由物理的不连续性或粒子性所引起的自然起伏性噪声。
2.1.2噪声分类图像是一种重要的信息源,其本质是光电信息。
一幅图像在实际应用中可能存在各种各样的噪声,这些噪声可能在传输中产生,也可能在量化等处理中产生。
根据噪声和信号的关系,可将其分为三种形式()(yxg表示图像信号,,,f表示给定原始图像,)(yxn表示噪声):x,(y)①加性噪声含噪声的图像可表示为:),xyyx=,即噪声与信号的关系是相加的。
f+ng,)(()(y,x不管有没有信号,噪声都会存在。
加性噪声干扰有用信号,因而不可避免地对通信造成危害,所以对图像进行相关处理前必须去除加性噪声。
信道噪声及光导摄像管的摄像机扫描图像时产生的噪声,就属这类噪声。
加性噪声中包括椒盐噪声、高斯噪声等典型的图像噪声。
椒盐噪声往往由图像切割引起的,是由图像传感器等产生的黑图像的白点、白图像上的黑点。
去除脉冲干扰级椒盐噪声可以用均值滤波、维纳滤波等经典图像去噪技术进行去噪处理,而非线性滤波技术中值滤波是其中最常用的方法。
高斯噪声就是n维分布都服从高斯分布,即正态分布的概率密度函数的噪声。
高斯噪声是图像含有的主要噪声,在小波域里能很好地实现去除高斯噪声。
②乘性噪声含噪声的图像可表示为:)xnygyg=,即噪声与信号的关系是f+xxxy,)(,(y(,)),(相乘的。
信号在它在,信号不在也就不在。
乘性噪声一般由信道不理想引起,飞点扫描器扫描图像时的噪声,电视图像中的相干噪声,胶片中的颗粒噪声就属于此类噪声。
③量化噪声此类噪声与输入图像信号无关,是量化过程存在量化误差,再反映到接收端而产生。
这类噪声不是我们研究的方向。
一般来说,图像噪声多是与信号直接相加的。
因此,原则上乘性噪声信号的去除最好先转换为加性噪声。
所以我们去噪的主要目的是去掉加性噪声的影响,即高斯噪声和椒盐噪声。
2.2噪声模拟研究图像去噪技术,首先要给图像添加噪声,进行噪声的模拟。
数字图像噪声产生的途径有很多种。
MATLAB的图像处理工具箱提供imnoise函数,可以用该函数给图像添加五不同种类的噪声。
表2.1列出了imnoise函数能够产生的五种噪声及对应参数。
具体的应用为:首先将图像读出来,然后给图像添加噪声。
I=imread('filename.tif')J=imnoise(I, 'type', parameters)其中,filename为图像名称,且一般为灰度图像,参数type指定滤波器的种类,parameters 是与滤波器种类有关的具体参数。
表2.1 imnoise函数支持的噪声种类及其参数说明2.3 经典图像去噪技术现有的经典的图像去噪方法大致可以划分为两类:一类是空间域方法,主要采用各种图像平滑模板对图像进行卷积处理,以达到压抑或去除噪声的目的;另一类是频域方法,主要通过对图像进行变换以后,选用适当的频率带通滤波器进行滤波处理,经反变换后获得去噪声图像。
常见的空域滤波有均值滤波、中值滤波和维纳滤波等方法。
它们的基本特点都是让图像在傅里叶空间的某个范围内的分量受到抑制,同时保持其他分量不变,从而改变输出图像的频率分布,达到图像增强的目的。
常见的频域滤波则有高通滤波和低通滤波等方法。
2.3.1 均值滤波⒈ 基本原理均值滤波器,是一种最常用的线性低通滤波器。
这种方法的基本思想是,用几个像素灰度的平均值来代替每个像素的灰度值。
均值滤波器所有的系数都是正数,为了保持输出图像仍在原来的灰度范围内,模板与像素邻域的乘积和都要除以9[1]。
以33⨯邻域为例,假设当前的待处理像素为),(n m f ,最简单的一种均值滤波模板为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=11111111191H 将以上的均值滤波器加以修正,可以得到加权平均滤波器。
例如:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1111211111011H ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1212421211612H ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=111101111813H 设一幅数字图像),(y x f 为N M ⨯的阵列,平滑后的图像为),(y x g ,它的每个像素的灰度由包含),(y x 的预定邻域的几个像素的灰度级的平均值所决定,如式(2.1),∑∈=),(),(1),(s j i j i f k y x g (2.1) 式(2.1)中,S 是),(y x 像素点的不包含),(y x 像素点的预定邻域,K 是S 内的坐标点总数。
⒉ 滤波效果对图像进行均值滤波处理,相当于让图像信号通过一低通滤波器。
这种方法通过把突变点的灰度分散在其相邻点中,然后达到平滑作用。
原始图像经过均值滤波后噪声得到了抑制,图像也得到了平滑。
但是均值滤波对极限像素值(与周围像素灰度值相差较大的像素)比较敏感,同时也使图像边缘变得模糊[2]。
2.3.2 维纳滤波维纳滤波是一种自适应滤波,它能根据图像的局部方差调整滤波器的输出。
维纳滤波的最终目标是使恢复图像),(y x f ∧与原始图像),(y x f 的均方误差MSE 最小。
维纳滤波器以最小均方误差MSE min 作为最优准则。
{}⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡-==∧22),(),(min ),(min min y x f y x f E y x e E MSE (2.2) 因为对误差进行平方运算,使得大误差的分量远远小于小误差的分量,选择MSE min 就可以限制滤波输出的主要误差,也可以使用其他的最优原则进行分析(例如平均误差等)。
但是这些准则将使得分析过程变得较为复杂,而且效果也不是很好。
我们可以用MATLAB 中的wiener2函数对一幅图像进行自适应滤波,wiener 2函数的调用格式为:J = wiener2(I,[M N],NOISE)I 表示输入图像,[M N]表示卷积使用的邻域大小,缺省值为[3 3];NOISE 为噪声强度,如果不指定此参数,那么wiener2函数将返回一个估计的噪声强度。
2.3.3 中值滤波⒈ 基本原理中值的定义为:有一组数n x x x x ,,,,321 ,把各数值按大小顺序排列于下,),,,,(321321n ini i i x x x x Med y x x x x =≤≤≤其中,y 就称为序列n x x x x ,,,,321 的中值。
若n 为奇数,则中值y 为排在第21+n 的数;n 为偶数时,则中值为排在第2n 的数与排在第12+n 的数之和的平均值。
例如有一序列为(80,90,200,110,120),那么这个序列的中值为110。
中值滤波的基本原理是,把数字图像或数字序列中的一点用该点的一个邻域中各点值的中值代替[3]。
把一个点的特定长度或者形状的邻域称做窗口。
在一维情况下,中值滤波器是一个含有奇数个像素的滑动窗口,窗口正中间的那个像素的值用窗口中各像素的中值代替。
设输入序列为{}I i x i ∈,,I 为自然数合集或子集,n 为窗口长度。