图像处理中的噪声和滤波器
1.常见的噪声
图像常常被强度随机信号所污染.一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等。
椒盐噪声含有随机出现的黑白强度值。
脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪 声)。
与前两者不同,高斯噪声含有强度服从高斯或正态分布的噪声。
椒盐噪声:
2.滤波器
消除图像中的噪声成分叫作图像的*滑化或滤波操作。
对滤波处理的要求有两条:
一是不能损坏图像的轮廓及边缘等重要信息;二是使图像清晰视觉效果好。
图像的滤波方法很多,主要可以分为频率域法和空间域法两大类。
1)频率域法 的处理是在图像的某种变换域内,对图像的变换系数值进行运算,然后通过逆变换获得增强图像。这是一种间接的图像滤波方法。
2)空间滤波方法 是一类直接的滤波方法,它在处理图像时直接对图像灰度作运算。
在傅立叶变换域,频谱的直流分量正比于图像的*均亮度,噪声对应于频率较高的区域,图像实体位于频率较低的区域。图像在变换具有的这些内在特性可被用于图像滤波。可以构造一个低通滤波器,使低频分量顺利通过而有效地阻于高频分量,即可滤除图像的噪声,再经过反变换来取得*滑 的图像。
频域常用的几种低通滤波器为理想低通滤波器(Ideal circular Iow-passfilter)、巴特沃思(Butterworth)低通滤波器、指数低通滤波器及梯形低通滤波器。这些低通滤波器,都能在图像内有噪声干扰成分时起到改善的作用。
常用的*面空间域滤波法有两类:一类是拟合图像的方法,包括n阶多项式拟合、离散正交多项式拟合、二次曲面拟合等多种方法;另一类是*滑图像的方法,包括领域*均法、中值滤波法、梯度倒数加权法、选择式掩模法等。
(1)高斯低通滤波器
高斯滤波器是响应脉冲为高斯形状的滤波器,对于图像来说,高斯滤波器是利用高斯核的一个2维的卷积算子,用于图像模糊化(*滑,去除细节和噪声)。
在matlab中可以利用函数w=fspecial('gaussian',[5 5],0.8)产生一个高斯核。
在这个函数中,第二个参数是窗的大小,第三个参数高斯函数中的那个标准差。
下面这个图展示了这个高斯窗和其二维分布:
可以看出是个高斯函数的样子。
这个过滤器的过滤结果就是每个像素的值变成窗内邻居像素的加权和,如果看灰度直方图的话,可以明显的看出直方图会变*滑。
(2)均值滤波器
均值滤波器也很简单,就是像素的值用它窗内邻居的*均值来代替。
w=fspecial('average',5)。主要应用于*滑噪声。
但是跟上面的高斯滤波器比,它的*滑手段显然更粗暴些,邻域的值不管远*一律*等,高斯滤波器还至少根据远*有些区分。
(3)中值滤波器
中值滤波器就是用窗内的中间值代替该像素的值,也多用于减少噪声,特别对于椒盐噪声有很好的效果。
中值滤波器在matlab里的实现与上面两个有些不同,它的用法是
g=medfilt2(f ,[r c])。
这个设计思想就是检查输入信号中的采样并判断它是否代表了信号。
使用奇数个采样组成的观察窗实现这项功能。
观察窗口中的数值进行排序,位于观察窗中间的数值(注:不是*均值,只是位置居中的那个值)作为输出。然后,丢弃最早的值,取得新的采样,重复上面的计算过程。
中值滤波是图像处理中的一个常用步骤,它对于斑点噪声(speckle noise)和椒盐噪声(salt-and-pepper noise)来说尤其有用。
保存边缘的特性使它在不希望出现边缘模糊的场合也很有用。
(4)维纳滤波器
相对上面的四个滤波器维纳滤波器比较复杂一点,它经常用在复原信号上,因此也是图像去噪的方法之一,和高斯噪声和均值噪声一样,能起到*滑的效果,效果还会更好一点,因为它能估计这个像素最应该的值的是什么。这个滤波器原理比较复杂,不在多述,找到相关资料再补充。
maltab已经实现了这个滤波器:g=wiener2(f,[r c])。
摘抄整理自:
http://www.cnblogs.com/nani/archive/2012/12/14/2818086.html
http://www.eefocus.com/xhcbrave/blog/07-11/76210_62438.html