Ü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 eine Liste übergeben wird, liefert sie das größte Element der Liste 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 Liste dargestellte gray_map, also eine Abbildung von Grauwerten in Grauwerte sein.

Aufgabe: Andere Graustufen-Abbildungen

Definieren Sie Listen - Funktionen (Grauwert -> Grauwert), die folgende Abbildungen erzielen:

  1. Invertierung (Erzeugung eines Negativbildes)
  2. Aufhellen oder Abdunkeln, ohne Überbelichtungs- bzw.Unterbelichtungseffekt
  3. Partielle Kontrasterhöhung in einem Helligkeitsbereich, z. B. Aufhellen der Schatten oder Abdunkeln der Spitzlichter

Bonusaufgaben

Schreiben Sie Programme, die folgende Ideen umsetzen:

  1. Detektion und farbige Markierung von über- und unterbelichteten Bereichen
  2. Colorierung eines Graustufenbildes
  3. Änderung der Auflösung eines Bildes
  4. Spiegelung (Drehung) eines Bildes
  5. Objekterkennung und Ausschneiden eines Objektes (schraube.png)

Bonusaufgabe: Kunst nachbauen

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