一、传统的中值滤波算法
二维图像的中值滤波就是选择一定形式的窗口,使其在图像上的各点移动,用窗内的像素值的中值代替窗口中心处的像素值,滤波窗口的大小直接影响滤波效果,窗口过大则会使图像边缘模糊,窗口太小会使去噪效果不明显。
传统的中值滤波算法实现过程为:
1、选择一个(2n+1)×(2n+1)的窗口(n为整数),通常为3×3或5×5,使其沿图像数据的行或列的方向逐像素滑动(通常为自左向右,从上到下逐行移动)。
2、每次滑动后对窗内的像素值进行排序。
3、用排序所得的中间值代替窗口中心位置像素值。
二、改进的中值滤波算法
脉冲噪声是突发出现的幅度高而持续时间短的离散脉冲。
椒盐噪声是一种在图像中产生黑色或白色点的脉冲噪声。该噪声在图像中较为明显。对于混入椒盐噪声的视频图像来说,滤波窗口的内邻域像素值的中值很大程度上不会是噪声,因此中值滤波能很好地消除它。中值滤波由于对去除脉冲噪声具有较好的性能,最早被用于去除脉冲噪声。
当中心点值为噪声时,噪声值和中值数值相差较大,应该用中值来代替中心点值。但是,当中心点值不为噪声时,其值和中值数值相差不大,如果还用中值来代替中心点值,那么虽然对于单个像素点来说,不会产生较大的差异,但是如果采用普通的中值滤波对滤波窗口的所有邻域像素都采用一致处理,就会导致图像在去除噪声的同时图像边缘值也会改变,从而使图像的边缘发生模糊。近年来,一种新的基于点检测的算法被引入。
它采用了先定位,后滤波的思想。首先,进行脉冲噪声检测,判断哪些像素点是噪声点。然后,只对检测出的噪声点进行滤波,而不改变其它像素点的值,这样就避免了未受噪声污染的像素值被改变的