基于×字形窗口的自适应中值滤波算法
1中值滤波的基本原理及传统算法
信号中值(medians)是按信号值大小顺序排列的中间值。长为n的一维信号{X,n∈N}的中值用下式表示:
相对二维图像信号{Xij:i,j∈N},二维中值滤波器定义为:
式(1)、式(2)中:N表示自然数集;A为截取图像数据的窗口尺寸;r为窗口水平尺寸;s为窗口垂直尺寸;Xij为被处理图像平面上的一个像素点,坐标为(i,j);Yij是以Xij为中心,窗口W所套中范围内像素点灰度的中值,即中值处理的输出值。窗口A可以采用不同的形式,通常有线段窗、方形窗、圆形窗、十字窗和圆环窗等。文献[6]对中值滤波的多种形态及其发展有详细的介绍。
中值滤波就是选择一定形式的窗口,使其在图像的各点上移动,用窗内像素灰度值的中值代替窗中心点处的像素灰度值。它对于消除孤立点和线段的干扰十分有用,能减弱或消除傅里叶空间的高频分量,但也影响低频分量。高频分量往往是图像中区域边缘灰度值急剧变化的部分,该滤波可将这些分量消除,从而使图像得到平滑的效果。对于一些细节较多的复杂图像,还可以多次使用不同的中值滤波。传统中值滤波算法的具体实现过程如下:
(1)选择一个(2n+1)×(2n+1)的窗口(通常为3×3或5×5),并用该窗口沿图像数据进行行或列方向的移位滑动;
(2)每次移动后,对窗内的诸像素灰度值进行排序;
(3)用排序所得中值替代窗口中心位置的原始像素灰度值。
图1是传统中值滤波算法的框图。其中,M,N分别表示滤波图像的行数和列数。
评论