Mediaanisuodatin on eräänlainen digitaalinen suodatin , jota käytetään laajalti digitaalisessa signaalin ja kuvan käsittelyssä kohinan vähentämiseksi . Mediaanisuodatin on epälineaarinen FIR-suodatin .
Suodatinikkunan näytearvot lajitellaan nousevaan (laskevaan) järjestykseen; ja järjestetyn listan keskellä oleva arvo menee suodattimen ulostuloon. Jos ikkunassa on parillinen määrä näytteitä, suodattimen lähtöarvo on sama kuin järjestetyn listan keskellä olevien kahden näytteen keskiarvo. Ikkuna liikkuu suodatettua signaalia pitkin ja laskelmat toistetaan.
Mediaanisuodatus on tehokas menetelmä impulssikohinaan vaikuttavien signaalien käsittelemiseksi.
Alla on esimerkki mediaanisuodattimen käyttämisestä yksiulotteiselle signaalille, jossa on kolminäyteikkuna, tulotaulukkoon x (keinotekoisesti lisätyt päällekkäiset arvot näkyvät lihavoituna ):
x = [2 80 6 3]
ja lopuksi:
y = [2 6 6 3] - mediaanisuodattimen lähtö
Mediaanisuodatin tulosignaalista luo mediaanikuvan signaalista . Tulosignaali syötetään mediaanisuodattimeen . Mediaanisuodattimessa valitaan ensin arvot ,
jotka putoavat suodatinikkunaan, kun ikkuna on kohdassa . Seuraavaksi ikkunan arvot lajitellaan arvojen vertailutoiminnon mukaan ja muodostetaan järjestetty joukko , jonka jälkeen valitaan mediaaniarvo ( mediaani ) ja kirjoitetaan siihen .
Mediaanisuodatin on siis kolmen toiminnon sarja:
Nämä vaiheet toistetaan jokaiselle tulosignaalin pisteelle.
Primitiivinen 2D-mediaanisuodatinalgoritmi näyttää suunnilleen tältä:
varaa tulosPixelValue[kuvan leveys][kuvan korkeus] edgex := (ikkunan leveys / 2) pyöristettynä alaspäin edgey := (ikkunan korkeus / 2) pyöristetty alaspäin x:lle reunax:sta kuvan leveyteen - reunax y:lle reunasta kuvan korkeuteen - reuna varaa väriMatriisi[ikkunan leveys][ikkunan korkeus] fx 0:sta ikkunan leveyteen fy 0:sta ikkunan korkeuteen colorArray[fx][fy] := inputPixelValue[x + fx - edgex][y + fy - edgey] lajittele kaikki merkinnät colorArrayssa[][] outputPixelValue[x][y] := väritaulukko[ikkunan leveys / 2][ikkunan korkeus / 2]Tämän algoritmin ominaisuudet: