Convolution

Wie wir bereits gelernt haben, kann ein Schwarz-Weiß-Bild als gitterartige Anordnung einzelner Pixel angesehen werden. Jedes Pixel wird durch eine Zahl zwischen 0 und 1 beschrieben: Eine 0 bedeutet ein weißes Pixel, eine 1 steht für ein schwarzes Pixel und die Zahlenwerte dazwischen entsprechen den jeweiligen Graustufen.

0.00.00.60.30.00.00.00.00.60.30.00.00.90.90.90.90.90.80.80.30.30.30.10.30.80.10.30.30.30.30.00.30.30.10.30.0

Eine grundlegende Vorgehensweise der Bildverarbeitung ist folgende: Der Wert eines jeden Pixels wird unter Berücksichtigung benachbarter Pixel neu bestimmt, um das Bild (in Abhängigkeit eines sogenannten Filters) zu verändern. Genauer berechnen sich die neuen Werte als gewichtete Summe, was wir anhand eines kleinen Beispiels erläutern wollen:

0.00.00.60.30.00.00.00.00.60.30.00.00.90.90.90.90.90.80.80.30.30.30.10.30.80.10.30.30.30.30.00.30.30.10.30.00.00.10.00.10.60.10.00.10.00.00.10.50.30.00.00.10.20.50.40.10.10.80.80.80.80.70.70.80.40.40.30.20.30.70.20.30.30.30.30.10.30.30.20.30.1

Im Beispiel zuvor werden die neuen Werte der Pixel (rechts, gerundet auf eine Nachkommastelle) bestimmt, indem zusätzlich zum jeweiligen Pixel auch die acht benachbarten Pixel berücksichtigt werden: Verwendet wird dazu ein sogenannter 3 x 3-Filter, der die jeweiligen Faktoren bzw. Gewichte der einzelnen Pixel definiert (veranschaulicht über dem Pfeil). Genauer werden die Werte der Pixel mit dem jeweiligen Wert des Filters multipliziert und daraus wird die Summe gebildet:

Aus der 0.9 ergibt sich nach Anwendung des Filters also eine 0.72 (in der Abbildung zur besseren Darstellung auf 0.7 gerundet).

Ein Filter definiert die Gewichte zur Bestimmung der neuen Werte (bzw. Farben) eines Pixels unter Berücksichtigung der jeweiligen Nachbarschaft, indem die gewichtete Summe gebildet wird.

Diese Vorgehensweise zur Veränderung eines Bildes wird als Convolution oder Faltung bezeichnet. Dabei sind folgende Hinweise zu beachten:

  1. Es sind Filter der Größe (s x s) anwendbar, sofern s eine ungerade ganze Zahl größer oder gleich 3 ist (also z.B. 3, 5, 7 oder 9).
  2. Sollte sich nach der Anwendung eines Filters ein Wert kleiner als 0.0 oder größer als 1.0 ergeben, dann ist der Wert entsprechend auf 0.0 aufzurunden bzw. auf 1.0 abzurunden (damit die Farbe bzw. die Graustufe des Pixels eindeutig definiert ist).

Zusätzlich müssen wir eine Vorgehensweise für Pixel am Rand des ursprünglichen Bildes berücksichtigen, da hier einige der Nachbarpixel nicht vorhanden sind. Zur Anwendung des Filters wird hier ein Wert verwendet, der dem Wert des nächstgelegenen Pixels entspricht:

0.00.00.00.60.30.00.00.00.00.00.00.60.30.00.00.00.00.00.00.60.30.00.00.00.90.90.90.90.90.90.80.80.80.80.30.30.30.10.30.30.80.80.10.30.30.30.30.30.00.00.30.30.10.30.00.00.00.00.30.30.10.30.00.00.00.10.00.10.60.10.00.10.00.00.10.50.30.00.00.10.20.50.40.10.10.80.80.80.80.70.70.80.40.40.30.20.30.70.20.30.30.30.30.10.30.30.20.30.1

Die Anwendung eines Filters hört sich komplizierter an, als sie tatsächlich ist. Teste dein Wissen anhand der folgenden Aufgabe.

Quiz

Gegeben sei ein Schwarz-Weiß-Bild sowie ein Filter gemäß der folgenden Abbildung.

0.11.00.40.70.51.00.80.60.20.20.70.70.40.20.20.20.60.10.60.80.20.60.00.60.60.20.00.00.60.10.30.60.81.00.20.30.00.50.00.5-1.00.50.00.50.00.90.00.80.20.90.60.20.50.50.70.30.60.60.8B0.60.00.90.60.00.60.0C0.00.20.8A1.00.00.70.60.30.40.00.80.2
Was ist der (neue) Wert von Pixel A?
0.0
0.2
0.4
0.5
0.6
1.0
1.2
Was ist der (neue) Wert von Pixel B?
0.0
0.2
0.4
0.5
0.6
1.0
1.2
Was ist der (neue) Wert von Pixel C?
0.0
0.2
0.4
0.5
0.6
1.0
1.2
Veranschaulichung