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:
A | Farbe, auf die Schwarz abgebildet wird | z.B. [0, 0, 128] |
Z | Farbe, auf die Weiß abgebildet wird | z.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).