RGB-Farbmodell und Faltungen
Zweite Doppelstunde — RGB-Farbmodell
Ziele
- Java: Umgang mit der Klasse Color
- Bildbearbeitung: RBG-Farbmodell
Didaktische Überlegungen
Auch die zweite Doppelstunde startet mit theoretischen Überlegungen. Anhand der Präsentation 02_rgb_farbmodell.odp gibt der Lehrer eine Einführung in das RGB-Farbmodell. Das HSB-Farbmodell ist eine mögliche Ergänzung.
Die SuS lernen mit der Java Klasse Color umzugehen. Wichtig ist dabei, dass die Farbanteile eines einmal erzeugten Farbobjektes nie mehr geändert werden können. Möchte man die Farbe verändern, muss man ein neues Farbobjekt erzeugen.
Die Implementation von Methoden zur Farbmanipulation ist analog zu der von Methoden aus der ersten Doppelstunde. Daher können die SuS sie selbstständig erstellen. Die verschiedenen Algorithmen der Graustufenberechnung, zum Invertieren und Farbtauschen können als Differenzierung eingesetzt werden. Später können ggf. mehrere SuS ihre Methoden in einer gemeinsamen GUI kombinieren. Die Methode farbaenderung sollten alle SuS kennenlernen, da sie später noch benötigt wird, um in der GUI einen Eingabedialog einzuführen.
Sehr schnelle SuS können außerdem an dieser Stelle auch schon die Methoden zur Bildkombination erstellen.
Dritte Doppelstunde — Faltungen
Ziele
- Java: Vertiefung des Umgangs mit Schleifen und zweidimensionalen Arrays
- Bildbearbeitung: Berechnung von Faltungen, Untersuchung von vorgegebenen Faltungsfiltern
Didaktische Überlegungen
Die implementierten Algorithmen werden nun komplexer, da sie nicht nur ein Pixel berücksichtigen, sondern die Umgebung eines Pixels. Daher sollen die SuS zunächst die Berechnung der Faltung durchschauen, bevor die Implementation in Angriff genommen wird. Dazu ist die Faltung mit einer 3x3 Matrix auf einigen Beispielbildern in einem Tabellenkalkulationsblatt als Formel hinterlegt. Damit kann sehr schnell die Wirkung eines Filters untersucht werden. Dabei bleibt der Rand zunächst unberücksichtigt.
Die SuS sollten verstehen, dass die Summe der Filtergewichte 1 sein muss, wenn die Gesamthelligkeit nicht verändert werden soll. Die Wirkung von Mittelwertbildung bzw. Kantenverstärkung durch negative Gewichte muss deutlich werden.
Implementation
Da die Anwendung eines Filters für sehr viele Zwecke eingesetzt werden kann, wird zunächst eine allgemeine Methode erstellt. Diese erfordert die Verschachtelung von vier For-Schleifen. Das ist nicht einfach. Die SuS erhalten daher ein Puzzle für den Quelltext des Algorithmus. Um die SuS zu animieren, sich über die einzelnen Abschnitte des gegebenen Quelltextes Gedanken zu machen, müssen sie die Codeabschnitte kommentieren.
Danach kann das Programm in BlueJ übertragen werden und dann mit verschiedenen Faltungsfiltern aufgerufen werden.
Als Differenzierungsmöglichkeiten für besonders schnelle SuS stehen Arbeitsblätter für die Verwendung größerer Faltungsfilter inklusive verschiedener Algorithmen zur Randbehandlung und die Berechnung eines Gauß-Filters bereit.
Unterrichtsverlauf: Herunterladen [odt][154 KB]
Unterrichtsverlauf: Herunterladen [pdf][233 KB]
Weiter zu Graphische Benutzeroberflächen