图像处理-中值滤波定位中值的方法

上图为对一幅图片加窗后的3*3像素矩阵,进行中值滤波时需要找出9个像素中的中值,然后将其赋值给中心像素,上图采用的方法是先对每一行进行大中小的数值排序,然后提取三个最小值中的最大值,三个中值中的中值,三个最大值中的最小值,对提取的三个数值再做一次大中小排序,此时得到的中值即为所需要的9个像素值的中值,将其赋值给M22即可实现中值滤波。

下面介绍上面这种寻找中值的方法的原理,原理简单粗暴,对每行排序的元素进行一次整体定位:

 将9个元素填充至上图的9个格子中,中值位于格子5。在对三行进行排序后,若想找到中值,则必须找到最后一次排序所需要的三个数,即可能能够填入5的值,而刚好,这样的值再经过两次排序后仅有三个:原理如下

1:最小值中的最大值,为什么选最小值中的最大值作为最终的排序元素,第一次排序后的三个最小值Min1,Min2,Min3中的最小值必然是9个元素的最小值,只能填至格子1,假如此时填入格子1的为Min1,则三个最小值中的中值一定比Min1大,所以中值可能填入的格子号一定大于等于2,并且一定小于当前行的中值和最大值以及三个最小值中的最大值所在行的所有元素,共五个元素,则可能填入的格子号一定小于5,则三个最小值中的中值可能填入的格子号为2~4;最后三个最小值中的最大值同理可能填入的格子号为3~7;则该最大值成为可能填入格子5的备选项。

2:三行的三个中值的中值为何能够成为备选项也采用上述的分析模式,三个中值中的最小值可能填入的格子号为2~4;三个中值中的中值可能填入的格子号为4~6,三个中值中的最大值可能填入的格子号为7~8。则该中值成为可能填入格子5的备选项。

3:同理,三个最大值中最小值可能格子号3~7,中值可能格子号为6~8,最大值必定为所有元素的最大值,即只能填入格子9。则该最小值成为可能填入格子5的备选项。

最后在上述三个备选项中选出中值即为所有元素的中值,唯一一个能够填入格子5的元素。

原文地址:https://www.cnblogs.com/lightmonster/p/15335716.html