Medianer¶
Det här filtret implementerar flera typer av medianfilter.
INLEDNING:
Median är ett rätt populärt icke-linjärt filter inom bildbehandling. Oftast används det för att ta bort impulsbrus, som ”salt och peppar”, ”döda” och ”heta” bildpunkter, smuts på film, etc. Det beror på att det beter sig lite ”omvänt” jämfört med linjär brusreducering. Ju mer en dålig bildpunkt sticker ut från det omgivande området, desto större rest lämnar den med ett linjärt filter, men desto troligare är att den elimineras av medianen.
Nackdelen är att medianoperationen är riktigt långsam. Som ett ordningsstatistiskt filter liknar det sortering, som måste göras för varje bildpunkt, så att använda en snabb algoritm är mycket viktigt. För de små medianerna används algoritmerna av den typ som beskrivs på den här sidan, med några små modifieringar för ytterligare en liten förbättring i hastighet. För medianen ”Variabel storlek” används kod från [1]. De sammansatta filtren (ArceBI, ML3D, ML3dEX) är gjorda enligt formlerna som ges i motsvarande verk [2]. För mer information om medianfiltrering se artikeln på Wikipedia.
IMPLEMENTERADE ALGORITMER:
- Kors-5
Median för bildpunkten med dess övre, undre, vänstra och högra granne.
- Kvadrat-3x3
Median för bildpunkten med de omgivande 8 bildpunkterna (3 x 3 ruta).
- Dubbelnivå
Gör först kors-5 median, gör sedan median för bildpunkten med dess fyra diagonala grannar, och ta slutligen medianen för bildpunkten och de två tidigare beräknade medianerna. Bevarar detaljer något bättre än de enkla medianerna ovan.
- Romb-3x3
Tar medianen av bildpunkten med 12 angränsande bildpunkter arrangerade i ett rombmönster.
- Kvadrat-5x5
Medianen för bildpunkten med den omgivande 5 x 5 rutan.
- Tid-3
Endast tidsmässig median av tre bildrutor. Kan användas för att reducera tidsbaserat impulsbrus i en bild som en fotoblixt. Fördröjer videon med 1 bildruta.
- Tid-5
Endast tidsmässig median av fem bildrutor. Kan användas för att reducera dubbelt tidsbaserat brus, men förvrängningarna för snabbt rörliga objekt är starkare än med tid-3. Fördröjer videon med 2 bildrutor.
- ArceBI
Rymdtidsmässig flernivåers median, som beskrivs av Arce. Se motsvarande verk [2]. Fördröjer videon med 1 bildruta.
- ML3D
Rymdtidsmässig flernivåers median, som beskrivs av Alp. Se motsvarande verk [2]. Fördröjer videon med 1 bildruta.
- ML3dEX
Rymdtidsmässig flernivåers median. Ytterligare utveckling av ML3D av Kokaram, se motsvarande verk [2]. Fördröjer videon med 1 bildruta.
- Var-storlek
Enkel rumslig median i en kvadratisk ruta omkring varje bildpunkt med storlek vald av användaren. Effekten kan beskrivas som ”delvis kantbevarande, hörnavrundande, eliminering av småsaker”. Eller kanske bara en ”konstnärlig suddighet”.
PARAMETRAR
- Typ
Väljer en av de elva algoritmerna.
- Storlek
Bara aktiv när typen ”Var-storlek” är vald. Bestämmer storleken på det kvadratiska området där medianen utförs.