主要实现了五种常见的非线性滤波算子,这五种滤波算子对不同的图像都会有不同的作用,最常用的是中值滤波,因为它的效果最好且信息损失的最少。
1.极大值滤波
极大值滤波就是选取像素点领域的最大值作为改点的像素值,有效率去了灰度值比较低的噪声,也可作为形态学里面的膨胀操作。
极大值滤波可以表示为: Maximum(A)=max[A(x+i,y+j)] (x,y)属于M
注:(x+i,y+j)是定义在图像上的坐标,(i,j)是定义在模板M上的坐标。M即为运算的模板。
2.极小值滤波(与极大值滤波相反)
3.中点滤波
中点滤波常用于去除图像中的短尾噪声,例如高斯噪声和均匀分布噪声。终点滤波器的输出时给定窗口内灰度的极大值和极小值的平均值;
Midpoint(A)=(max[A(x+i,y+j)]+min[A(x+i,y+j)])/2 (x,y)属于M
注:(x+i,y+j)是定义在图像上的坐标,(i,j)是定义在模板M上的坐标。M即为运算的模板。
4.中值滤波
中值滤波可以消除图像中的长尾噪声,例如负指数噪声和椒盐噪声。在消除噪声时,中值滤波对图像噪声的模糊极小(受模板大小的影响),中值滤波实质上是用模板内所包括像素灰度的中值来取代模板中心像素的灰度。中值滤波在消除图像内椒盐噪声和保持图像的空域细节方面,其性能优于均值滤波。
Median(A)=Median[A(x+i,y+j)] (x,y)属于M
注:(x+i,y+j)是定义在图像上的坐标,(i,j)是定义在模板M上的坐标。M即为运算的模板。
5.加权中值滤波(中值滤波的改进)
加权中值滤波是在中值滤波的基础上加以改进,其性能在一定程度上优于中值滤波。
下面是自己在算法上的改进:以例子说明
若说选模板的大小为5,那么这个模板就唯一确定为:
1 1 5 1 1
1 1 5 1 1
5 5 5 5 5
1 1 5 1 1
1 1 5 1 1
上图中的数字表式改点像素在序列中出现的次数。然后根据模板平滑图像。实验证明该方法好于传统中值滤波。当然还有其他方法;