Aufgabe 2: Image-Morphing

 

Ansprechpartner: Prof. Redlich

 

Teil 1: Morphing von zwei Bildern.

Gegeben seien zwei Passbilder von Mitgliedern Ihrer Arbeitsgruppe. Verwenden Sie eines der gängigen Grafikbearbeitungsprogramme, um die beiden Bilder (d.h. das darauf sichtbare Gesicht) hinsichtlich Größe, Farbsättigung, Helligkeit und Kontrast aneinander anzupassen. Tipp: Verwenden Sie Bilder mit einer möglichst großen Auflösung, damit die später unvermeidbaren Rundungsfehler nicht zu großen Qualitätseinbußen führen.

Ziel ist es, aus diesen beiden Bildern eine Folge von mehreren Zwischenbildern zu generieren. Diese Zwischenbilder sollen die Eigenschaft haben, dass sie bei hintereinander folgender Betrachtung den Eindruck erwecken, dass das erste Bild in das zweite Bild überführt/umgeformt wird (Morphing-Effekt).

Eine bloße Ausblendung des einen Bildes verbunden mit dem gleichzeitigen Einblenden des anderen Bildes liefert dabei nur unbefriedigende Resultate. Besser (und natürlich auch anspruchsvoller) ist es, zusätzlich die Geometrie des ersten Bildes so zu "verzerren", dass beispielsweise die Augen des ersten Bildes dorthin verschoben werden, wo bei dem zweiten Bild die Augen sind. Dazu müssen zunächst die einander entsprechenden Punkte des Gesichts markiert und einander zugeordnet werden, z.B. Nase1 -> Nase2, linkes Auge 1 -> linkes Auge 2, Haaransatz 1 -> Haaransatz 2, usw. Hier müssen Sie etwas experimentieren, was sinnvoll ist.

Schreiben Sie also zunächst ein Programm, das die beiden Bilder auf dem Bildschirm anzeigt und es einem Benutzer erlaubt, interaktiv eine Zuordnung von "markanten Punkten" des einen Bildes zu den entsprechenden Punkten des anderen Bildes zu definieren. Als Ergebnis könnte eine Datei generiert werden, in der diese Zuordnung abgespeichert ist.

                  

[ Quelle: http://homes.cs.washington.edu/~ankit/course_projects/files/DIP/A2_web/Image%20Morphing.htm ]

 

Schreiben Sie nun ein zweites Programm, das die beiden Bilder als Eingabe nimmt, sowie zusätzlich die zuvor erstelle "Zuordnungsdatei" und daraus eine Folge von T vielen Zwischenbildern generiert, wie oben beschrieben. Der Name der beiden Bilder, der Name der Zuordnungsdatei, sowie der Parameter T könnten dabei über die Kommandozeile spezifiziert werden.

Detaillierte Informationen zum Verfahren finden Sie beispielsweise hier: http://www.cg.tuwien.ac.at/studentwork/VRSem96/Morphing/  (als Cache/PDF)

Oder hier: Recent Advances in Image Morphing_by_George Wolberg

 

Teil 2: Generierung von Übergängen für eine Folge von Bildern.

Gegeben seinen N Passbilder (von den Mitgliedern Ihrer Arbeitsgruppe). Generieren Sie unter Benutzung der Programme aus Teil 1 eine Folge von Bildern, die in einem Zyklus die Bilder aller Gruppenmitglieder ineinander über gehen lässt. Diese Bildfolge können Sie z.B. mit dem Programm ImageMagic (siehe GdP-Webseite, bzw. Vorlesungsfolie) zu einer einzigen *.gif-Datei zusammen fassen.

Falls Sie weniger als 4 Gruppenmitglieder haben, verwenden Sie einfach 2 Bilder derselben Person, z.B. einmal mit einem weinenden Gesicht und ein andermal mit einem lachenden Gesicht.

 

Abgabe

Geben Sie ein .tgz-Archiv ab, welches alle Quelltexte Ihres Morphingprogramms enthält. Darüber hinaus muss eine Datei README im Archiv enthalten sein, die beschreibt, welche Ausbaustufe sie implementiert haben und wie das Programm zu starten ist (Name der main-Klasse, Parameter etc.)

 

 

Viel Spaß :-)