Medianen

Dit filter implementeert verschillende filters van het type mediaan.

INLEIDING:

Mediaan is een tamelijk populair niet-lineair filter bij bewerken van afbeeldingen. Het meest vaak wordt het gebruikt om impulsieve ruis te verwijderen, zoals “zout & peper” ruis, “dode” en “hete” pixels, stof op de film, etc. Dit is omdat het zich gedraagt als een soort van “inverse” vergeleken met lineaire ruisverwijdering. Hoe meer een fout pixel verschilt van het omgevende gebied, hoe grotere rest het zal achterlaten met een lineair filter - maar het is waarschijnlijker dat het geëlimineerd wordt door de mediaan.

Het nadeel is dat de mediaan bewerking tamelijk langzaam is. Als een volgorde-statistisch filter, komt het overeen met sorteren, dat moet gedaan worden voor elk pixel, een snel algoritme gebruiken is erg belangrijk. Voor de kleine medianen, worden de algoritmen van het type beschreven in deze pagina hier gebruikt, met enige kleine wijzigingen voor een verdere lichte verbetering in snelheid. Voor de “Variabele grootte” mediaan, wordt code uit [1] gebruikt. De samengestelde filters (ArceBI, ML3D, ML3dEX) zijn gemaakt volgens de formules gegeven in het overeenkomstige werk [2]. Voor meer informatie over mediaan filteren zie Wikipedia artikel.

GEÏMPLEMENTEERDE ALGORITMEN:

Cross5

Mediaan van het pixel met zijn boven, onder, linker en rechter buur.

Square3x3

Mediaan van het pixel met de 8 pixels er omheen. (3x3 vakjes)

Bilevel

Maak eerst cross5 mediaan, maak daarna mediaan van het pixel met zijn vier diagonale buren en tenslotte neem de mediaan van het pixel en de twee eerder berekende medianen. Behoud iets beter details dan de eenvoudige bovenstaande medianen.

Diamond3x3

Neemt de mediaan van het pixel met 12 buurpixels gearrangeerd in een ruitvormig patroon.

Square5x5

Mediaan van het pixel met de 5x5 omgevende vakjes.

Temp3

Tijdelijk alleen mediaan van drie frames. Kan gebruikt worden om tijd-impulsieve ruis van een enkel frame zoals een fotoflits te verminderen. Vertraagt de video met 1 frame.

Temp5

Tijdelijk alleen mediaan van vijf frames. Kan gebruikt worden om tijd-impulsieve ruis van twee frames te verminderen, maar de artifacts op snel bewegende objecten zijn sterker dan met temp3. Vertraagt de video met 2 frames.

ArceBI

Spatio-temporal multilevel mediaan, zoals beschreven door Arce. Zie het corresponderende werk [2]. Vertraagt de video met 1 frame.

ML3D

Spatio-temporal multilevel mediaan, zoals beschreven door Alp. Zie het corresponderende werk [2]. Vertraagt de video met 1 frame.

ML3dEX

Spatio-temporal multilevel mediaan. Verdere ontwikkeling van ML3D door Kokaram, zie het corresponderende werk [2]. Vertraagt de video met 1 frame.

VarSize

Eenvoudige alleen-ruimtelijke mediaan in een door de gebruiker geselecteerde grootte van een vierkant vak rond elk pixel. Het effect zou beschreven kunnen worden als “quasi rand sparende, hoek afrondende, kleine zaken verwijderaar”. Of misschien gewoon een “kunstzinnig vervaging”.

PARAMETERS:

Type

Selecteert één van de elf algoritmen.

Grootte

Alleen actief wanneer type “Variabele grootte” is geselecteerd. Bepaalt de grootte van het vierkante gebied waarover de mediaan wordt genomen.