XMRM : Morphen mit Linux

ArticleCategory:

Graphics

AuthorImage:

[Photo de l'auteur]

TranslationInfo:

Original in fr Yves Ceccone

fr to en Clark Freifeld

en to de Katja Socher

AboutTheAuthor:

Von Beruf Fotograf, wechselte er zur Computergraphik und hat die Maus seitdem nicht mehr losgelassen.

Abstract:

XMRM (Multi Resolution Morphing for X) ist ein Morphingprogramm, das es erlaubt, ein mpeg Video aus zwei Bildern zu erzeugen, wobei ein Bild schrittweise (durch vielw Parameter gesteuert) in ein anderes umgeformt wird. Dieser Artikel beschreibt die prinzipiellen Funktionen des Programms (dank an die sehr vollst�ndige Dokumentation in Englisch, die auf der XMRM Seite vorhanden ist) sowie ein Beispiel einer kleinen Animation, die zeigt, wie man leicht interessante Ergebnisse erhalten kann.

ArticleIllustration:

[illustration]

ArticleBody:

Installation

Die hier benutzte Version ist von einem RPM (auf RedHat 6.0), aber man kann auch die Quelldistribution unter http://www.cg.tuwien.ac.at/research/ca/mrm/xmrm.html. finden.
Genauso wie das Programm selbst, mu� man, um die Animation als eine mpeg Datei abspeichern zu k�nnen, "tifftopnm" und "ppmtoyouvsplit" installieren, die sich beide im Paket "netpbm01mar94" befinden, das man hier finden kann: ftp://ftp.x.org/contrib/utilities/ sowie "mpeg" hier: ftp://ftp.x.org/contrib/utilities/

Die Idee

Die Art, wie XMRM arbeitet, ist wie folgt: man l�dt zwei Bilder, eines wird "source" (Quelle) und das andere "destination" (Ziel) genannt. Dann zieht man durch Benutzen von Vektoren an jedem Bild, wobei jeder Punkt in der Zeile des einen Bildes mit einem Punkt im anderen �bereinstimmt. Dieses Ziehen bestimmt die Kontur des Morphens. Nachdem man den Typ des Morphens ausgew�hlt hat sowie die Qualit�t und die Anzahl der Schrite (frames), "berechnet" man die Animation, die man dann als eine mpeg Datei abspeichern kann.

Men� und Hauptfunktionen.



Dieses Men� dient einer doppelten Funktion, da jeder Befehl mit einem Knopf auf der allgemeinen Oberfl�che korrespondiert.



Dieses Men� erlaubt es, den "wavelet" Typ, d.h., die Art der Transformation zu w�hlen. Die verschiedenen Auswahlm�glichkeiten sind verschiedene Bildumwandlungsalgorithmen."RTS-Transform" ist in den meisten F�llen ausreichend, besonders f�r eine Vorschau. F�r Hochqualit�tsergebnisse w�hlt man aus der Reihe zwischen Biorthogonal Spline und Battle Lemarie (die vom komplexesten zum langsamsten gehen).
Die drei anderen k�nnen komische Ergebnisse erzeugen.



Dieses Men� erlaubt es, verschiedene Arbeitsfenster zu verstecken oder anzuzeigen.


XMRM benutzt das TIFF Format.





Alle deine Einstellungen, einschlie�lich der Vektoren, der Namen der Bilder, der Parmeter etc. kann man speichern, laden, speichern als...
Projekte werden mit der Endung .prj abgespeichert; Vektoren werden in einer getrennten Datei mit der Endung .prj.vec abgespeichert.



Tauscht die Quell- und Zielbilder sowie die Vektoren, um die Richtung des Morphens umzudrehen.



L�dt ein Schwarz/Wei�bild, um die Detail Map Morph Funktion benutzen zu k�nnen.
Ein Farbbild wird in ein Schwarz/Wei�bild umgewandelt.



Einfaches Morphen durch Vermischen von Quell- und Zielbild.



Dieses Feature benutzt ein Schwarz/Wei�bild zusammen mit dem Quell- und Zielbild. Es erlaubt dir, das Voranschreiten der Umwandlung zu steuern. Ein wei�er Bereich im Schwarz/Wei�bild zeigt eine schnelle Transformation vom Quell- ins Zielbild an, w�hrend umgekehrt ein schwarzer Bereich ein langsames Fortschreiten anzeigt.



Hier wird nur das Quellbild basierend auf den Vektoren umgewandelt.
�berraschende Effekte sind garantiert!



Erlaubt es, eine Sequenz zu erzeugen, die mit den weniger detailierten Bereichen im Quellbild und im Zielbild beginnt, um in der entgegengesetzen Richtung fortzufahren und zum Beginn zur�ckzukehren, um den Kreis zu schlie�en.



Im advanced mode (fortgeschrittenen Mode) k�nnen die "wavelet-Funktionen" getrennt ausgew�hlt und konfiguriert werden; im einfachen Mode ist immer 1 ausgew�hlt:





Mit der "high quality" Option kann die Berechnung viermal so lange dauern...



Diese Option positioniert unsichtbare Vektoren an die vier Seiten der beiden Bilder (Quelle und Ziel). Dies erlaubt es, das Deformieren des Rahmens (frames) w�hrend der Umformung zu vermeiden..



Wenn dieser Knopf nicht gedr�ckt ist, wird normales Morphen benutzt. Diese Funktion bestimmt den Wert der Quell- und Zielbilder f�r jedes Bild der Animation..
Wenn er aktiviert ist, wird der fortgeschrittenere "wavelet-transformations mode" benutzt, der mit der "Advanced Mode" Option einstellbar ist.


Das Fortschreiten des Morphens




Es ist m�glich, das Fortschreiten des Morphens wie folgt zu ver�ndern: Die x-Achse stellt die Zeit oder die Position des Bildes in der Animation dar: links ist das Quellbild, rechts das Zielbild.
Auf der y-Achse ist unten das Quellbild und oben das Zielbild.
Auf diese Wiese kann man durch Folgen der drei Beispiele ein gleichm��iges Fortschreiten erreichen, ein Fortschreiten, wo das Zielbild gegen Ende erscheint bzw. schlie�lich eins, wo es eine Schleife gibt. Um die Position von einem Punkt hinzuzuf�gen oder zu ver�ndern, benutzt man die linke Maustaste, zum L�schen die rechte Maustaste.

Positionieren der Vektoren


[Positioning the vectors]

Sind einmal die beiden Bilder geladen, benutze die Werkzeuge Edit, delete /vector, und set /Line, um die Vektoren nachzuziehen, die die Konturen f�r das Morphen jedes Bildes festlegen. Je gr��er die Anzahl der Vektoren, desto besser ist die Morphqualit�t.
Es ist m�glich, mehrere Nachziehungen pro Bild zu haben, z.B. gibt es in der offiziellen Dokumentation ein Beispiel eines Morphens mit einem B�ren und einem Leopard, wo die Kontur des Kopfes genommen wurde sowie die Umrisse jedes Auges, f�r insgesamt drei Nachziehungen pro Foto.

Berechnen der Animation



Hier bestimmt man die Anzahl der Bilder (frames), aus denen die Animation bestehen wird, was bestimmt, wie lang sie ist (in Verbindung mit der Anzahl der frames pro Sekunde) und dem Rendern (fluid, jerky...) der Animation.




Hier stellt man die Anzahl der Bilder (frames) pro Sekunde (fps) ein, sowie durch Benutzen des "Cycle" Knopfes, ob die Animation sich wiederholen soll.




Die "frame preview" Option ist f�r das Betrachten eines bestimmten Bildes entsprechend seiner Position in der Animation bestimmt.

Speichern der Animation




"Save pics from animation"--Speichert jeden frame als eine tiff Datei, nachdem die Animation berechnet wurde. Man mu� zuerst ein Verzeichnis und ein base_filename.tif ausw�hlen. (Das Abspeichern arbeitet wie base_filename000.tif; base_filename001.tif, base_filename002.tif, etc...). "Save pics when calculate" -- Speichert dieselben Dateien, korrespondierend zu jedem Frame, aber zur gleichen Zeit, in der die Animation berechnet wird. Man mu� den Dateinamen vor dem Laufen lassen von "calculate" w�hlen. Diese Option ergibt eine viel bessere Farbqualit�t in den Bildern.



Man ruft diesen Dialog durch Klicken auf "Execute xmrm_mpeg" auf. Man kann dann das erste und letzte Bild der Animation durch Benutzen des "choose start/stop frame" Knopfes w�hlen und durch Klicken von GO die schlie�liche Operation starten, um eine mpeg Animation zu erstellen.
Man kann auch eine Schleife erzeugen und mpeg_play starten, sobald die mpeg Datei erzeugt ist.

Schnelles Erzeugen eines Morphs


Zuerst sind hier die beiden Bilder, die du herunterladen kannst, wenn du die gleichen haben willst, wie in diesem Beispiel:
01.tif and 02.tif (90 kb each)

[The input files]

Klicke "Load Source" und lade 01.tif, dann "Load Destination", um 02.tif. zu laden

[]

Mit dem "Set vector" Werkzeug fahre die Umrisse des Babys nach. Um dieses Werkzeug zu benutzen, klicke die linke Maustaste, ziehe, um den Vektor zu zeichnen und la� los, wenn du die gew�nschte L�nge erreicht hast.
Du wirst sehen, da� einer der Pfeile oben auf dem Kopf des Babys gr�n ist. Dies ist ein Referenzpunkt, der dir hilft, die gleiche Anzahl von Vektoren sowohl auf dem Ziel- als auch auf dem Quellbild zu zeichnen und zu positionieren. Nachdem du das Nachzeichnen auf dem ersten Bild beendet hast, wird das Nachzeichnen einen gr�nen Pfeil entlang der ersten Linie haben,wenn wir auf dem zweiten beginnen und dadurch die Arbeit leichter machen.

Hier sind die Parameter, die ich benutzt habe, um ein interessantes Ergebnis zu bekommen:

- Simple morph
- Border vector
- use wavelets

- Der Kursor "wavelet interpolation levels" wird auf 3/4 erh�ht.
- Der Morphingfortschritt (progress) ist rectilinear und centered
- Anzahl der frames: 50
- "Animation sequence" checked und 25 fps

Jetzt klicke auf "calculate", um die Animation zu berechnen, man kann sie mit dem "animate" Knopf anschauen und �nderungen machen. Sei vorsichtig: nochmaliges Laufenlassen von "calculate" l�scht die vorherige Animation.
Wenn du ein zufriedenstellendes Ergebnis hast, klicke "save pics from animation" und w�hle einen Dateinamen und ein Verzeichnis. Hierin werden die 50 .tif Dateien gespeichert, die durch den "ready" Befehl in der Dialogbox, die du mit"choose filename" �ffnest, generiert werden.
Letzte Operation: Klick "Execute xmrm_mpeg", w�hle filename000.tif als den START-frame und filename049.tif als den LAST-frame (letzten frame) und klicke auf "GO", um die mpeg Datei zu erzeugen. Diese Datei wird filename.mpg hei�en und in demselben Verzeichnis gespeichert sein wie die 50 tif Dateien.

[small animated gif]
Leicht, nicht?
Diese Animation (in voller Gr��e) kann hier als mpg-Datei oder als animated gif heruntergeladen werden.

Anmerkung des Editors: Das Compilieren von xmrm macht in neueren Linuxdistributionen Probleme. Wie man diese l��t haben auf folgender Seite zusammengestellt: