得鹿梦鱼 得鹿梦鱼

中值滤波

中值滤波是一种常见的类似于卷积的非线性平滑滤波。它和均值滤波相似,也是利用邻域像素点进行操作的,但它不是求和取平均,而是把选定像素点邻域中的各个像素点的灰度值按从大到小或从小到大的顺序排列,然后将该组序列中的中间值作为输出像
素点的灰度值。由于图像中的边缘区域通常处于高频部分,而且灰度值会出现明显变化,而中值滤波恰能削弱傅里叶空间的高频分量,因此滤波可将这些高频分量滤除掉,使图像平滑

基本原理是:先确定一个合适的方形区域作为某个中心像素点的邻域,并将选定邻域中的所有像素点依据灰度值大小进行排序,取该组序列的中间值作为选取的中心像素点的灰度值输出。我们将中间值进行如下定义,如果该组序列中含有奇数个像素点,那么中间像素点的灰度值即可作为输出值;如果该组序列中含有偶数个像素点,则将中间两个像素点的灰度值求和取平均值作为输出值

yn=med[xnj,,xn,,xn+j]yn=med[xn-j,\cdots,xn,\cdots,xn+j]

加权中值滤波

它的基本思想是根据实际情况增加或减少窗口中的变量数目,将某一点的值赋予多个变量,然后对新变量组求中值。
在实际处理过程中,对一维加权中值滤波和二维加权中值滤波执行的操作不同,对于一维加权中值滤波,窗口中间的像素点重复两次,窗口边缘的两个像素各重复一次,之后再利用中值滤波进行处理。而对于二维加权中值滤波,中间的像素点重复两次,上、下、
左、右的像素点各重复一次,对角线上的点不重复。除此之外,加权中值滤波还可以通过选择适当的权值来改善图像的滤除效果

方向中值滤波

主要用于处理方向性比较强的图像,而且选取的狭长窗口并非是固定的,而是随纹理方向的变化而变化

开关中值滤波

开关中值滤波是基于标准中值滤波对所有像素点进行相同操作的弊端进行改进的,因为中值滤波在滤除噪声点的同时,也改变了原有信号点,不仅造成图像模糊,还使得处理速度减慢。开关中值滤波,顾名思义,就是设定一个“开关”将所有像素点进行分类,对于噪声点,仍利用中值滤波滤除,而原有信号点则保持不变

多级中值滤波

其基本思想是首先选取四个一维窗口,方向分别是水平方向、与水平方向成45度和135度和垂直方向,然后对上述四个窗口内的数值取中值后按照大小顺序进行排列,最后将该序列中的最小值、最大值和需要进行滤波的像素点排列,将其中间值作为滤波器的输出。

极值中值滤波

首先,对图像中的所有像素点按照是否是极值点分类,如果是,就归为噪声点类(N),如果不是,就归为信号点类(S)

fi,j{Nfi,j=minW[fi,j],maxW[fi,j]SminW[fi,j]fi,j<maxW[fi,j]>f_{i,j} \in \begin{cases}N \quad f_{i,j}=minW[f_{i,j}], maxW[f_{i,j}] \\S \quad minW[f_{i,j}]f_{i,j}<maxW[f_{i,j}]>\end{cases}
minW[fi,j]minW[f_{i,j}]表示某像素点邻域W[fi,j]W[f_{i,j}]内 所有点的最小值,maxW[fi,j]maxW[f_{i,j}]表示某像素点邻域W[fi,j]W[f_{i,j}]内 所有点的最大值

如果某像素点是其邻域内的最大值或最小值,则使用标准中值滤波算法进行滤除,如果不是,则保持不变