Übungsaufgaben

Aufgabe: Grauwerte berechnen

Definieren Sie eine Python-Funktion luminosity, die einen gewichteten Mittelwert der Farbkanäle einer übergebenen Farbe zurückgibt. Rot soll dabei 30% ausmachen, Grün 59% und Blau 11%.

Aufgabe: Histogramm zeichnen

Definieren Sie eine Funktion render_histogram, die als Eingabe ein Histogramm erwartet und ein Image-Objekt zurück liefert. Das erzeugte Bild soll 256 mal 256 Pixel groß sein und die Anzahl der Pixel zu jeder Intensität ähnlich wie GIMP darstellen. Überlegen Sie, wie sie das Bild in Abhängigkeit der größten vorkommenden Anzahl so skalieren, dass diese genau an den oberen Rand stößt.

Hinweis: Die Funktion max liefert das größte im Aufruf übergebene Argument zurück. Wenn ihr als einziges Argument ein Array übergeben wird, liefert sie das größte Element des Arrays zurück.

Aufgabe: Kontrastveränderung programmieren

Definieren Sie eine Funktion contrast_adjustment, die den Kontrast eines Bildes mit Hilfe einer Geraden durch den Punkt (128,128) anpasst. Die Steigung der Geraden soll als Parameter übergeben werden, der Rückgabewert der Funktion soll eine als Array dargestellte gray_map, also eine Abbildung von Grauwerten in Grauwerte sein.

Bonusaufgabe: Kunst nachbauen

Schreiben Sie ein Python-Programm, das das Bild Spectrum Colors arranged by Chance von Ellsworth Kelly nachahmt.