Informatik

Fotofilter

Ziel

Jede Kamera-App kann es: ein Bild heller machen, es in Schwarzweiß verwandeln, es weichzeichnen, die Umrisse hervorheben. In diesem Projekt baust du diese Filter selbst – und dabei lernst du die Datenstruktur kennen, ohne die Bildverarbeitung nicht funktioniert: das zweidimensionale Feld.

Ein Foto ist nämlich nichts anderes als eine Tabelle aus Zahlen. 96 Spalten, 72 Zeilen, in jeder Zelle eine Helligkeit. Ein Filter ist eine Vorschrift, die aus dieser Tabelle eine neue macht. Mehr steckt nicht dahinter.

Am Ende hast du ein gutes Dutzend Filter geschrieben, sie zu einer Kette zusammengesteckt und dabei gesehen, warum man dafür Klassen und Vererbung gebrauchen kann.

Das Foto, mit dem du arbeitest
Der Ausschnitt in der Mitte wird dein Versuchsobjekt

Vorwissen

Du solltest programmieren können, was im Lernpfad Grundlagen der Programmierung mit Java steht:

Für die letzten beiden Seiten hilft es, wenn du Vererbung und abstrakte Klassen schon kennst. Nötig ist es nicht – die Seiten führen das ein, was sie brauchen.

So arbeitest du damit

  • Alle Programmierbereiche laufen im Browser. Du musst nichts installieren.
  • Jeder Bereich enthält das vollständige Programm. Du kannst darin herumändern, ohne etwas kaputtzumachen – ein Neuladen der Seite stellt den Ursprung wieder her.
  • Gestartet wird mit dem kleinen Pfeil neben Main.java in der Dateiliste links.
  • Tipps sind gestuft: Der erste gibt einen Denkanstoß, der letzte ein Gerüst.
  • Die Lösungen sind mit einem Passwort geschützt. Frag deine Lehrkraft oder sieh auf der Seite Lösungspasswörter nach.

Die Seiten

Seite Darum geht es
Das Bild als Gitter Zeilen, Spalten, length – und das Foto zum ersten Mal auf dem Schirm
Punktfilter Heller, dunkler, invertiert, schwarzweiß: jeder Bildpunkt für sich
Farbe und Kanäle Drei Gitter statt einem – Sepia, Farbstiche, Kanaltausch
Spiegeln und Drehen Nicht die Werte ändern sich, sondern die Indizes
Weichzeichnen Der Nachbarschaftsfilter – und warum er eine Kopie braucht
Kanten finden Wo sich die Helligkeit schnell ändert, ist ein Umriss
Filter als Klassen Aus acht Methoden wird eine Filterkette
Dein eigener Filter Freies Arbeiten, ohne Musterlösung

Woher kommt das Foto? Die Entwicklungsumgebung im Browser kann keine Bilddatei laden. Das Foto bringt sich deshalb selbst mit: Es steckt als Zeichenkette in der Datei Foto.java, drei Zeichen je Bildpunkt. Die Datei findest du in jedem Programmierbereich – du musst sie nie anfassen, nur benutzen.

Fotofilter

Teilbare URL erstellen

Abschnitte auswählen