Geführter Filter

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Ein Geführter Filter (englisch Guided Filter) ist ein in der Bildverarbeitung angewandter Filter. Er glättet, erhält jedoch Kanten.

Prinzip[Bearbeiten | Quelltext bearbeiten]

Der geführte Filter verwendet ein Maskenbild zusätzlich zu einem Eingabebild, um das Eingabebild zu glätten. Das Maskenbild sollte dabei ähnliche Kantenverläufe aufweisen, wie das Eingabebild. Das Eingabebild kann gleichzeitig auch als Maske fungieren.

Das Ausgabebild wird wie folgt berechnet:[1]

Dabei ist:

  • – Das Maskenbild am Bildpunkt .
  • – Das Ausgabebild am Bildpunkt .
  • – Ein zu berechnender Faktor am Punkt , der mit dem Maskenbild multipliziert wird.
  • – Ein zu berechnender Faktor am Punkt , der auf die Werte des Eingabebildes addiert wird.

und werden aus dem Eingabebild und dem Maskenbild an jedem Bildpunkt wie folgt berechnet:

Hierfür ist die Berechnung der Kovarianz zwischen Maskenbild (hier ) und Eingabebild (hier: )

und der Varianz des Maskenbildes

an jedem Bildpunkt notwendig.

ist ein quadratischer Mittelwertfilter am Punkt , dessen Größe ein frei wählbarer Parameter ist.

ist ein frei wählbarer Parameter, der die Unterscheidung zwischen flachen Stellen und Kantenbereichen festlegt.

Verhalten der Parameter:

  • An flachen Stellen dominiert , während klein ist
  • An Kanten dominiert , während klein ist

Beispiel[Bearbeiten | Quelltext bearbeiten]

Vorteile[Bearbeiten | Quelltext bearbeiten]

  • Der Filter weist eine lineare Komplexität auf, da der quadratische Filterkernel des Mittelwertes durch versetzte Summen berechnet werden kann. Er ist dabei wesentlich weniger komplex als der bilaterale Filter.
  • Es entstehen glatte, aber kantenerhaltende Bilder.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Beispielimplementation in Python

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Kaiming He, Jian Sun, Xiaoou Tang: Guided Image Filtering. 2010 (kaiminghe.com [PDF]).