Bilaterale Filterung
Ein bilateraler Filter ist ein nichtlinearer Filter, der in der Computergrafik und Bildverarbeitung eingesetzt wird, um Bilder weichzuzeichnen, aber gleichzeitig Objektkanten zu erhalten. Bei der bilateralen Filterung fließen Farben von Pixeln aus der Nachbarschaft eines Ausgabepixels nicht nur in Abhängigkeit von deren Entfernung, sondern auch von deren Farbabstand in die Berechnung ein. Eine mögliche Anwendung ist das Entfernen von Hautunreinheiten bei gleichzeitiger Beibehaltung der Schärfe in einem Porträtfoto.
Sowohl für die Entfernung als auch für den Farbabstand können verschiedene Filterkerne verwendet werden. Weit verbreitet sind Gauß-Filter für beide Werte. In diesem Fall berechnet sich der Farbwert eines Ausgabepixels wie folgt:
- .
ist ein Normalisierungsterm mit
- .
Die Bedeutungen der Variablen sind wie folgt:
- : Position des Ausgabepixels
- : Position eines Pixels in der Nachbarschaft des Ausgabepixels
- : ursprüngliche Farbe des Ausgabepixels
- : Farbe eines Pixels in der Nachbarschaft des Ausgabepixels
- : gefilterte Farbe des Ausgabepixels
- : Nachbarschaft des Ausgabepixels (Menge der vom Träger des über dem Ausgabepixel zentrierten Gaußfilters überlappten Pixel)
- : Gauß-Filter mit Standardabweichung (zur Gewichtung der Pixel in Abhängigkeit von der Entfernung)
- : Gauß-Filter mit Standardabweichung (zur Gewichtung der Pixel in Abhängigkeit vom Farbabstand)
Auf die Pixelwerte sollte vor der Anwendung des eigentlichen bilateralen Filters der Logarithmus und anschließend wieder die Exponentialfunktion angewandt werden, da logarithmische Pixeldifferenzen proportional zum wahrgenommenen Kontrast sind.
Literatur
- C. Tomasi and R. Manduchi. 1998. Bilateral Filtering for Gray and Color Images. In: Proceedings of the Sixth International Conference on Computer Vision (ICCV ’98). IEEE Computer Society, Washington DC (PDF, 3,0 MB)