
上圖為對一幅圖片加窗后的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的元素。
