XMRM : Morphing sobre o Linux

ArticleCategory:

Graphics

AuthorImage:

[Photo de l'auteur]

TranslationInfo:

Original in fr Yves Ceccone

fr to en Clark Freifeld

en to pt Bruno Sousa

AboutTheAuthor:

Foi um fotografo, mudou para computa��o gr�fica e desde ent�o nunca mais largou o rato.

Abstract:

O XMRM (Multi Resolu��o de Morphing para X) � um programa de morphing que nos permite criar um v�deo mpeg baseado em duas imagens, onde uma imagem se transforma progressivamente (segundo muitos par�metros) noutra. Este artigo descreve as principais fun��es do programa (gra�as � muita documenta��o completa em Ingl�s dispon�vel no site do XMRM), bem como um exemplo de uma pequena anima��o que mostra como pode obter resultados interessantes muito facilmente.

ArticleIllustration:

[illustration]

ArticleBody:

Instala��o

A vers�o utilizada neste artigo prov�m de um RPM (no RedHat 6.0) mas tamb�m pode encontrar distribui��o com o c�digo de origem em http://www.cg.tuwien.ac.at/research/ca/mrm/xmrm.html.
Bem como o programa em si, no sentido de criar uma anima��o com mpeg, precisa de instalar "tifftopnm" e "ppmtoyouvsplit", que est�o ambos no pacote "netpbm01mar94", o qual pode ser encontrado aqui: ftp://ftp.x.org/contrib/utilities/ bem com o "mpeg" aqui: ftp://ftp.x.org/contrib/utilities/

A ideia

O modo como o XMRM trabalha � como se segue: voc� carrega duas imagens, uma chamada "origem" e a outra chamada "destino". Depois, usando vectores faz um rasteamento em cada imagem, onde cada ponto numa linha de uma imagem corresponde a um ponto na outra imagem. Estes rasteamentos determinaram os contornos do morphing. Depois de escolher o tipo de morphing, a qualidade, o n�mero de passos [quadros (frames)] voc� "calcula" a anima��o, que pode salvar como um mpeg.

Menu e principais fun��es.



Este menu serve de fun��o dupla visto que cada comando corresponde a um bot�o na interface principal.



Este menu permite-lhe escolher o tipo de "onda de �gua" (tradu��o liter�ria) isto � o tipo de transforma��o. As v�rias escolhas s�o diferentes algoritmos de transforma��o de imagem. O "RTS.Transform" � suficiente na maioria dos casos, em especial no modo ver antes. Para resultados de alta qualidade, escolha entre a gama Biorthogonal Spline e Battle Lemarie (que vai desde o mais complexo ao mais lento).
Os outros tr�s podem produzir resultados engra�ados.



Este menu permite-lhe mostrar ou esconder as diferentes janelas de trabalho.


O XMRM usa o formato TIFF.





Todas as suas defini��es, inclu�ndo vectores, o nome das imagens, dos par�metros, etc, podem ser guardador, carregados e guardados como...
Os Projectos s�o guardados com a extens�o .prj; os vectores s�o guardados num ficheiro separado com a extens�o .prj.vec.



Inverter as imagens de origem e de destino bem como os vectores para alterar o sentido do morphing.



Carrega um imagem preta e branca para usar o detalhe da fun��o do Mapa de Morphing.
Uma imagem colorida � convertida numa a preto e branco.



Morphing b�sico misturando as imagens de destino e origem.



Esta especifica��o utiliza uma imagem a preto e branco mais a imagem de origem e de destino. Permitindo-lhe controlar a progress�o da transforma��o: Uma zona branca nas imagens preto e branco indica uma transforma��o r�pida da origem para o destino, enquanto que inversamente, uma zona preta indica uma progress�o lenta.



Aqui s� a imagem de origem � transformada com base nos vectores.
S�o garantidos efeitos surpreendentes!



Permite-lhe criar uma sequ�ncia com inicio nas �reas menos detalhadas da imagem de origem e das �reas menos detalhadas da imagem de destino, continuando na direc��o inversa e retornar ao inicio para terminar o ciclo.



No modo avan�ado, as "fun��es de onda de �gua" podem ser seleccionadas e configuradas separadamente; no modo simples � sempre 1 seleccionada:





Com a op��o de "alta qualidade" o c�lculo pode demorar 4 vezes mais...



Esta op��o posiciona vectores invis�veis nos quatro lados das duas imagens (origem e destino). Isto permite-lhe evitar a deforma��o da moldura durante o morphing.



Quando este bot�o n�o � premido, o morphing convencional � usado. Esta fun��o determina o valor das imagens de origem e destino para cada imagem na anima��o.
Quando activada, utiliza o "modo de transforma��o de ondas de �gua", que � configur�vel com a op��o "Modo Avan�ado".


O processo de Morphing




� poss�vel modificar o processo de morphing como se segue: O eixo dos X representa o tempo ou a posi��o da imagem na anima��o: � esquerda est� a imagem de origem; na direita est� a imagem de destino.
No eixo dos Y, por baixo est� a imagem de origem e no topo a de destino.
Ent�o, seguindo os tr�s exemplos em baixo, pode ter uma progress�o regular, uma progress�o onde a imagem de destino aparece junto ao fim e finalmente uma onde tem um ciclo.
Para adicionar ou modificar a posi��o de um ponto, utiliza o bot�o esquerdo do rato; para apagar utilize o bot�o direito do rato.

Posicionando os vectores


[Positioning the vectors]

Logo que as duas imagens estejam carregadas, utilize os utilit�rios de Edi��o, apagar /vector, e defina a /Line para rastear os vectores que determinam os contornos do morphing em cada imagem. Maior n�mero de vectores melhor ser� a qualidade do processo de morphing.
� poss�vel ter v�rios rasteamentos por imagem: por exemplo, na documenta��o oficial, existe um exemplo de morphing um urso com um leopardo onde o seu contorno � a cabe�a e a linha de contorno de cada olho, dando um total de tr�s rasteamentos por foto.

Calculando a anima��o



Aqui determinamos o n�mero de molduras que compor�o a anima��o, o que determinar� a sua dura��o (em conjun��o com o n�mero de molduras por segundo) e a renderiza��o (flu�da, pausada...) da anima��o.




Aqui define o n�mero de molduras por segundo (fps) bem como se a anima��o se repetir�, utilizando o bot�o "Ciclo".




A op��o "frame preview" � para ver uma imagem dada de acordo com a sua posi��o na anima��o.

Guardando a anima��o




"Save pics from animation" -- Guarda cada frame como um ficheiro tiff ap�s o c�lculo da anima��o. Deve primeiro escolher um direct�rio e um nome de ficheiro_base.tif (A salvaguarda funciona como ficheiro_base000.tif, ficheiro_base001.tif, ficheiro_base002.tif, etc...).
"Save pics when calculate" -- Guarda os mesmos ficheiros, correspondentes a cada frame, mas ao mesmo tempo em que a anima��o � calculada. Deve escolher o nome do ficheiro antes de correr a op��o "calculate". Esta op��o d�-lhe uma melhor qualidade na cor das imagens.



Voc� chama este di�logo clicando em "Execute xmrm_mpeg". Escolhe depois a primeira e a �ltima imagem da anima��o utilizando o bot�o "choose start/stop frame", e clique GO para iniciar a opera��o final que faz a anima��o mpeg.
Pode tamb�m criar um ciclo, e come�ar o mpeg_play logo que o mpeg seja criado.

Criando um morphing rapidamente


Antes de tudo, aqui est�o as duas imagens que pode obter se quiser utilizar as mesmas do exemplo:
01.tif e 02.tif (90 kb cada)

[The input files]

Clique "Load Source" e carregue o 01.tif, e depois o "Load Destination" para carregar o 02.tif.

[]

Com o utilit�rio "Set vector", fa�a um rasteamento � volta do b�b�.
Para usar este utilit�rio, clique no bot�o esquerdo do rato, arraste para desenhar o vector e liberte quando tem o tamanho pretendido.
Ver� que uma das setas no topo da cabe�a do b�b� � verde. Isto � um ponto de refer�ncia, que o ajuda e posiciona o mesmo n�mero de vectores na imagem de destino. Ap�s finalizarmos o rasteamento na primeira imagem, quando come�armos na segunda linha, o rasteamento ter� uma seta verde ao longo da primeira linha, o que tornar� o trabalho mais f�cil.

Aqui est�o os par�metros que usei para obter um resultado interessante:

- Simple morph
- Border vector
- use wavelets

- O cursor "wavelet interpolation levels" subiu para os 3/4.
- O progresso de Morphing fica rectil�neo e centrado
- N�mero de frames: 50
- A "sequ�ncia de Anima��o" activada e com 25 fps

Agora clique em "calculate" para gerar a anima��o; pode v�-la com o bot�o "animate" e fazer modifica��es. Tenha cuidado: Ao correr de novo o "calculate" limpa a anima��o anterior.
Logo que tenha um resultado satisfat�rio, active "save pics from animation" e escolha um nome de ficheiro e a directoria. Aqui guardar� os 50 ficheiros .tif gerados pelo comando "ready" na caixa de di�logo que abre com "choose filename".
�ltima opera��o: Clique em "Execute xmrm_mpeg", escolha o filename000.tif como START-frame e filename049.tif como LAST-frame e clique "GO" para criar um ficheiro mpeg. Este ficheiro ser� chamado filename.mpg e estar� localizado no mesmo direct�rio que os 50 ficheiros tif.

[small animated gif]
F�cil, n�o?
Esta anima��o (em tamanho completo) pode ser obtida aqui como um ficheiro mpeg ou como um gif animado.

Nota de Editores: A compila��o do xmrm com distribui��es recentes do Linux ainda n�o est� 100%. Compil�mos ent�o uma lista de dicas: