在MATLAB图像处理工具箱中,medfilt2( ) 函数来实现图像的二维中值滤波,其用法如下:
B=medfilt2( A,[m,n]);
其中,A为输入图像矩阵,B是中值滤波后输出的结果,[m,n]用于指定滤波模板的大小,如果不设置,则默认为[3*3].
当[m,n]取不同的值,图像滤波的效果也不一样
上次取默认值3*3时,图像效果为
有些噪点没有滤除
更换滤波模板为[5*5]时,图像效果为
不同的模板效果不一样,当更换图像时
二维中值滤波的效果主要由窗口形状和尺寸直接决定,滤波后效果和所选的模板有关,还和图像本身的形状线条有关。
若是图像的点线较多,尖角等细节较多,不适合采用中值滤波。