Helligkeit anpassen

Eine häufig genutze Funktion von Bildbearbeitungsprogrammen ist die Anpassung der Helligkeit. Grundsätzlich sind hier unterschiedliche Verfahren denkbar, wir stellen daher nur eine ausgewählte Möglichkeit vor.

Um die Helligkeit eines Bildes zu erhöhen, führen wir zunächst folgenden Parameter ein:

b(ganze) Zahl zwischen 0 und 255

Für alle Pixel sollen alle drei Farbanteil mindestens den Wert b erhalten. Um genauer zu sein werden die Zahlen 0 bis 255 gleichmäßig auf einen Wert zwischen b und 255 skaliert:

Dieses Verhalten kann durch folgende Funktion beschrieben werden:

Die Funktion bildet damit alle Zahlen zwischen 0 und 255 auf eine Zahl zwischen b und 255 ab. Ein Pixel zum RGB-Wert

lässt sich damit aufhellen, indem als neuer RGB-Wert

verwendet wird.

Hinweis

Um korrekt zu sein, müssen die drei Zahlen des neuen RGB-Wertes möglicherweise gerundet werden. Denn aufgrund der Skalierung ergeben sich im Allgemeinen Werte, die keiner ganzen Zahl entsprechen.

Beispiele

Die folgende Tabelle zeigt einige Beispiele, falls b=100 gewählt wird:

RGB-Wert (alt)RGB-Wert (neu)
[0, 0, 255][100, 100, 255]
[100, 150, 200][161, 194, 222]
Aufgabe

Mache dich mit der Funktion vertraut, indem du und berechnest. Vergleiche deine Ergebnisse auch anhand der Abbildung zuvor.

Berechne zudem den neuen RGB-Wert von [80,120,200], falls b=120 gewählt wird.

Beispiel
Im folgenden Quellcode wird die Helligkeit eines Beispielbildes erhöht. Anschließend wird das manipulierte Bild dargestellt.
Helligkeit reduzieren

Bislang haben wir für den Parameter b nur positive Zahlen zugelassen, um die Helligkeit zu erhöhen. Natürlich kann es aber auch sinnvoll sein, die Helligkeit zu reduzieren. Daher lassen für auch negative Zahlen zu:

b(ganze) Zahl zwischen -255 und 255

Allerdings müssen wir nun beachten, dass zur Reduktion der Helligkeit eine andere Rechenvorschrift als zuvor zu verwenden ist: Falls b negativ ist, dann werden die Zahlen 0 bis 255 gleichmäßig auf einen Wert zwischen 0 und 255+b skaliert (beachte, dass 255+b eine Zahl zwischen 0 und 255 ist):

Dieses Verhalten kann durch folgende Funktion beschrieben werden:

Aufgabe

Ergänze den Quellcode im Beispiel zuvor, sodass die Manipulation der Helligkeit für alle Zahlen b zwischen -255 und 255 das gewünschte Ergebnis liefert. Zur Kontrolle kannst du dein Ergebnis anhand der folgenden Anwendung überprüfen.

Anwendung
Nutze den Regler, um die Helligkeit des Beispielbildes zu verändern.
Quiz
Kontrast anpassen