Algorithmen zu Bildbearbeitung

Bildmanipulation

Werkzeugkasten für Bildoperationen
Bilder können durch recht einfache Objekte repräsentiert werden. Ein Bild ist eine Abbildung von zwei ganzzahligen Koordinaten auf einen oder mehrere Helligkeitswerte aufgefasst werden. Die interne Darstellung dabei kann beliebig unterschiedlich sein. Mit so einer einfachen Bildrepräsentation lassen sich auf einfache und elegante Art viele unterschiedliche Bildmanipulationen realisieren.
Die einfachste Art der Bildmanipulation ist die punktweise Veränderung der Farb- oder Helligkeitswerte, wie z.B. Kontrast- und Helligkeitsveränderungen, Gamma-Korrektur und Invertierung.
Filteroperationen (Weichzeichner, Schärfen) berücksichtigen eine Umgebung eines Punktes um den neuen Farbwert zu berecchnen.
Eine weitere Klasse sind die Koordinatentransformationen (Skalieren, Rotieren, Spiegeln, ...).
Bilder können kombiniert werden (Addition, Multiplikation, Kombination mit α-Kanal).
Kombinationen
Diese Operationen sollen frei kombinierbar sein.
Laden
Bilder mit den gängigen Bildformaten sollen geladen und gespeichert werden können
Anzeigen
Sowohl die fertigen Bilder als auch die Zwischenergebnisse sollen angezeigt werden können.
Oberfläche
Das Prgramm soll mit einer grafischen Benutzungsoberfläche arbeiten, auch die Eingabe und die Kombination der Bilder soll durch das Kombinieren von grafischen Elementen realisiert werden.
Programmiersprachen und Werkzeuge
1. Ansatz
Java 1.5 mit Swing (oder SWT)
2. Ansatz
C++ mit Qt, GTK oder wxWidgets
Umgebung
lauffähig mindestens unter den Linux Rechenzentrums-Rechnern
etc.
Beispiel für einfache Bildmanipulationen findet man in vielen Bildmanipulationsprogrammen (Gimp, ImageMagick, xv, ...). Ein Beispiel für Bilder realisiert als Funktionen befindet sich in den Unterlagen zur Vorlesung Compilerbau

Hauptnavigation