A mediánszűrő egyfajta digitális szűrő , amelyet széles körben használnak a digitális jel- és képfeldolgozásban a zaj csökkentésére . A medián szűrő egy nemlineáris FIR szűrő .
A szűrőablakon belüli mintaértékek növekvő (csökkenő) sorrendben vannak rendezve; és a rendezett lista közepén lévő érték a szűrő kimenetére kerül. Az ablakban páros számú minta esetén a szűrő kimeneti értéke megegyezik a rendezett lista közepén lévő két minta átlagával. Az ablak a szűrt jel mentén mozog, és a számítások megismétlődnek.
A mediánszűrés hatékony eljárás az impulzuszaj által érintett jelek feldolgozására.
Az alábbiakban egy példa látható egy egydimenziós jel mediánszűrőjének alkalmazására hárommintás ablakkal az x bemeneti tömbre (a mesterségesen bevitt duplikált értékek félkövérrel vannak szedve ):
x = [2 80 6 3]
és végül:
y = [2 6 6 3] - medián szűrő kimenet
A bemeneti jel mediánszűrője a jel medián képét hozza létre . A bemeneti jel a medián szűrőbe kerül . A medián szűrőben először azok az értékek kerülnek kiválasztásra , amelyek
a szűrőablakba esnek, amikor az ablak a ponton van . Ezután az ablakértékeket az érték- összehasonlító függvény rendezi, és létrejön egy rendezett halmaz , majd kiválasztja a medián értéket ( medián ) , és beírja a -ba .
Így a medián szűrő három művelet sorozata:
Ezek a lépések a bemeneti jel minden pontjára megismétlődnek.
A primitív 2D medián szűrő algoritmus valahogy így néz ki:
outputPixelValue kiosztása[képszélesség][képmagasság] edgex := (ablak szélessége / 2) lefelé kerekítve edgey := (ablak magassága / 2) lefelé kerekítve x-hez élről a kép szélességére - edgex y-hoz éltől a képmagasságig - éles szín hozzárendelése Array[ablak szélessége][ablak magassága] fx 0-tól ablakszélességig fy 0-tól az ablak magasságáig colorArray[fx][fy] := inputPixelValue[x + fx - edgex][y + fy - edgey] az összes bejegyzés rendezése a colorArray-ben[][] outputPixelValue[x][y] := colorArray[ablak szélessége / 2][ablak magassága / 2]Ennek az algoritmusnak a jellemzői: