XMRM : Morphen mit Linux
ArticleCategory:
Graphics
AuthorImage:
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:
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
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)
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.
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: