Einfärben

Eine weitere interessante Funktion ist das Einfärben eines Bildes. Auch hier gibt es sehr unterschiedliche Möglichkeiten und wir präsentieren nur ein ausgewähltes der vielen möglichen Verfahren.

Die Idee ist folgende: Zunächst wird ein Graufilter angewandt, sodass wir ein (graustufiges) Schwarz-Weiß-Bild erhalten. Zudem werden zwei Farben bzw. RGB-Werte gewählt:

AFarbe, auf die Schwarz abgebildet wirdz.B. [0, 0, 128]
ZFarbe, auf die Weiß abgebildet wirdz.B. [0, 255, 0]

Dadurch wird definiert, dass schwarze Pixel im manipulierten Bild in der Farbe A und dass weiße Pixel im manipulierten Bild in der Farbe Z dargestellt werden. Für alle Graustufen dazwischen soll entsprechend zwischen den Farben A und Z skaliert werden:

Wir verzichten darauf, die Rechenvorschrift zur Skalierung an dieser Stelle im Detail zu beschreiben. Um diese zu verstehen, kannst du dir den folgenden Quellcode anschauen und damit experimentieren (verändere insbesondere auch die Farben A und Z).

Beispiel
Im folgenden Quellcode wird ein Beispielbild gemäß der Farben A und Z eingefärbt. Anschließend wird das manipulierte Bild dargestellt.
Aufgabe

Um die Rechenvorschrift im Quellcode zuvor zu verstehen, kannst du dir die folgenden Fragen beantworten:

  1. Welchen Wert hat die Variable t, falls es sich im Originalbild um einen weißen Pixel handelt?
  2. Welche Farbe hat ein Pixel im manipulierten Bild, falls die Variable t den Wert 1 hat?
  3. Welchen Wert hat die Variable t, falls es sich im Originalbild um einen schwarzen Pixel handelt?
  4. Welche Farbe hat ein Pixel im manipulierten Bild, falls die Variable t den Wert 0 hat?
Quiz
Projektaufgabe