Kontrast anpassen

Eine weitere wichtige Funktion ist die Anpassung des Kontrasts. Die Funktion dient dazu, die Farbtiefe eines Bildes zu manipulieren. Die Vorgehensweise ist dabei sehr ähnlich zur Anpassung der Helligkeit.

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

c(ganze) Zahl zwischen 0 und 127

In Abhängigkeit des Wertes c soll die Farbtiefe erweitert werden, indem die drei Farbanteil (falls im Originalbild nicht der Fall) möglichst auf Werte des gesamten Bereichs zwischen 0 und 255 skaliert werden:

Dieses Verhalten kann durch folgende Funktion beschrieben werden:

Ein Pixel zum RGB-Wert

lässt sich im Kontrast anpassen, indem als neuer RGB-Wert

verwendet wird.

Hinweise
  1. Zu beachten ist jedoch, dass einen Wert kleiner als 0 annimmt, falls gilt. In diesem Falle ist auf 0 aufzurunden, um einen zulässigen RGB-Wert zu erhalten.
  2. Gleiches gilt für : Dann ist größer als 255 und es ist entsprechend auf 255 abzurunden.
  3. Zudem müssen die drei Zahlen des neuen RGB-Wertes möglicherweise gerundet werden, falls es sich nicht um eine ganze Zahl handelt.
Aufgabe

Beschreibe die Funktion , falls c=127 gewählt wird. Berechne für diesen Fall den neuen RGB-Wert von [80,120,200].

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

Natürlich kann es auch sinnvoll sein, den Kontrast zu reduzieren. Daher lassen wir auch hier für den Parameter c negative Zahlen zu:

c(ganze) Zahl zwischen -127 und 127

Allerdings müssen wir nun beachten, dass zur Reduktion des Kontrasts eine andere Rechenvorschrift als zuvor zu verwenden ist: Falls c negativ ist, dann werden die Zahlen 0 bis 255 gleichmäßig auf einen Wert zwischen -c und 255+c skaliert. Beachte dabei, dass -c eine Zahl zwischen 0 und 127 und dass 255+c eine Zahl zwischen 128 und 255 ist:

Dieses Verhalten kann durch folgende Funktion beschrieben werden:

Aufgabe

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

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