Was macht Photoshops »Eigener Filter«?

Der »Eigener Filter« oder auch »Custom Filter« ermöglicht es, benutzerdefinierte lineare Filter zu erstellen. Da das etwas nichtssagend klingt, habe ich im Artikel Filter in der digitalen Bildverarbeitung, die Basics zu linearen Filtern erklärt. Kurz zusammengefasst: Man kann damit Scharf- und Weichzeichnungsfilter bzw. Kanten betonende Filter erstellen.
eigener-filter-fragezeichen
Grundlagen
Der Filter (zu finden unter Filter > Sonstige Filter > Eigener Filter…) ermöglicht es, eine Filtermatrix mit 25 Koeffizienten (Gewichte) zu spezifizieren. Diese geben an, womit der Farbwert des Quellpixels multipliziert wird.

Ausgangspunkt für die Filteroperation ist immer das zentrale Feld. Schreibt man in dieses Feld bspw. eine 2 werden die Farbwerte aller Pixel des Bildes mit 2 multipliziert. Das Bild wird dadurch heller (höherer RGB-Wert = hellere Farbe). Schreibt man nun auch Zahlen in die benachbarten Felder, werden diese auch in die Berechnung miteinbezogen. Das Prinzip dahinter nennt man Faltung – aber dazu später mehr.

In den 25 Feldern können ganze Zahlen zwischen -999 und +999 eingetragen werden. Leere Felder werden als 0 interpretiert, was dazu führt, dass diese Felder nicht berücksichtigt werden.

Darüber hinaus verfügt der Filter über 2 weitere Eingabefelder:

Skalieren: Hier trägt man den Wert ein, mit dem die Summe aller gewichteten Werte dividiert werden soll. Da man nicht durch Null dividieren kann, muss die Zahl größer oder gleich 1 sein.

Versatz: Der Versatz fügt zusätzlich zum Ergebnis der Faltung den eingetragenen Wert hinzu.

Beispiele
Versuchen wir zunächst einen Box-Weichzeichnung-Filter zu erstellen. Weichzeichnen bedeutet das Details vernichtet oder anders gesagt Ausreißer in den Farbwerten geglättet werden. Um das zu bewerkstelligen, nimmt man einen Pixel und bildet mit den benachbarten Pixeln einen Durchschnittswert. Dieser Wert wird dann in den Ursprungpixel zurückgeschrieben. Da der Filter das mit allen Pixeln im Bild macht, wird es schließlich weichgezeichnet.

Praktisch angewandt sieht das so aus:

Beim Box-Weichzeichnungsfilter werden alle Pixel (im definierten Radius; hier 1 Pixel) gleich gewichtet, daher trägt man zunächst überall den Koeffizient 1 ein:

box-blur-custom-filter
Das mittlere Feld (rot) ist der »Hot spot« bzw. Koordinatenursprung. Oder anders ausgedrückt: der aktuell zu verarbeitende Pixel.


Jeder Eingangswert wird dadurch mit 1 multipliziert. Anschließend werden diese Werte addiert und das Resultat wird in den Ursprungspixel eingetragen. Das alleine würde allerdings zu einem extrem hellen Bild führen. Um das zu verhindern, muss das Ergebnis noch durch die Summe der Koeffizienten dividiert werden. In diesem Fall muss somit 9 bei »Skalieren« eintragen werden. Ein Versatz ist hier nicht notwendig, da er das Bild wiederum aufhellen oder abdunkeln würde – etwas was ein Weichzeichner niemals machen sollte.

Weil bei dieser Filtermatrix die Diagonalen stärker weichgezeichnet werden als die waagrechten und senkrechten Linien, kann man die Gewichtung auch etwas gleichmäßiger gestalten:

Bildschirmfoto 2018-07-08 um 21.23.13

Diese Filtermatrix entspricht übrigens exakt dem Filter »Weichzeichnen«. Der Filter »Stärker Weichzeichnen« nutzt hingegen folgende Matrix:

Bildschirmfoto 2018-07-08 um 23.09.39

Eine Annäherung an den Gaußschen Weichzeichner gelingt mit folgender Matrix:

Bildschirmfoto 2018-07-14 um 18.15.05

Doch genug vom Weichzeichnen, sehen wir uns jetzt ein Beispiel zum Scharfzeichnen an:

Bildschirmfoto 2018-07-08 um 20.16.59

Wie in den vorigen Beispielen ist auch hier zu erkennen, dass die Summe der Koeffizienten (5-1-1-1-1 = 1) den Wert für die Skalierung ergibt. (Ein falscher Skalieren-Wert ist in der Regel schnell zu erkennen, da wie oben beschrieben, das Bild dadurch meist viel zu hell oder zu dunkel wird.)

Das Prinzip hinter dieser Scharfzeichnung ist, dass der zentrale Pixel deutlich mehr gewichtet wird, als die umliegenden Pixel. Dadurch steigt der Kontrast und das erzeugt den Eindruck von mehr Schärfe. Auch wenn diese Scharfzeichnung in speziellen Fällen ganz gut funktioniert, sollte man generell doch eher davon absehen, da die anderen Scharfzeichnungsfilter in Photoshop deutlich bessere Ergebnisse liefern.

Mit dem »Eigener Filter« können aber auch ganz andere Ergebnisse erzielt werden. Will man beispielsweise den Kontrast halbieren (wie das auch mit dem Helligkeit/Kontrast-Dialog im Modus »Früheren Wert verwenden« funktioniert), muss man lediglich folgende Werte eintragen:

Bildschirmfoto 2018-07-08 um 21.25.34

Die 1 bedeutet, dass die Farbwerte nicht verändert werden, die 2 bei Skalieren heißt: Alle Werte werden halbiert. Da das Bild somit aber auch dunkler wird, müssen die Tonwerte noch mit dem Versatz in die Mitte geschoben werden.

Genauso einfach lassen sich Bilder invertieren:

Bildschirmfoto 2018-07-08 um 21.26.50

Das scheint auf den ersten Blick etwas unnötig. Wer jedoch in einem komplexen Ebenenaufbau das Invertieren lieber per Smartfilter lösen möchte, hat hiermit eine Möglichkeit.

Weitere Beispiele sind verschiedene Varianten des Kanten betonens:

Relieffilter:

Bildschirmfoto 2018-07-14 um 18.14.00

Kanten betonen:

Bildschirmfoto 2018-07-14 um 18.30.29

Klar ist: Für all diese Möglichkeiten bietet Photoshop alternative Filter, die in der Regel bessere Ergebnisse liefern. Aber jeder, der sich etwas näher mit Bildbearbeitung und Bildverarbeitung beschäftigen will, hat mit diesem Filter die Möglichkeit, das Grundkonzept dahinter zu erforschen. Die folgenden Regeln, die der Programmierer Ian Albert formuliert hat, helfen dabei, sinnvoll mit dem Filter umzugehen.

Regeln

  • Die Skalierung entspricht in der Regel der Summe der eingetragenen Koeffizienten (wie z.B. in den Weichzeichnungs-Beispielen oben zu sehen).
  • Wenn die Summe der Koeffizienten dividiert durch die Skalierung 1 beträgt, dann sollte der Versatz 0 sein.
  • Ist die Summe der Koeffizienten 0, dann sollte der Versatz 128 sein.
  • Wenn die Summe der Koeffizienten dividiert durch die Skalierung -1 beträgt, dann sollte der Versatz 255 sein. Das Ergebnis ist die Invertierung vom theoretischen Ergebnis, wenn die Summe +1 wäre.
  • Die Summe der Koeffizienten dividiert durch die Skalierung sollte in der Regel nicht mehr als +1 bzw. weniger als -1 betragen.
  • Ist das Ergebnis zu hell, ist die Skalierung wahrscheinlich zu gering. Ist es zu dunkel, ist die Skalierung wahrscheinlich zu hoch.


blog comments powered by Disqus