Crear un gif animado estabilizando una imagen
lunes, 13 de febrero de 2012Hay varias herramientas para crear GIF animados de un modo rápido y sencillo desde una consola. Probablemente la más simple y rápida sea Imagemagick, la herramienta estrella y más versátil para manipulación de imágenes desde un terminal.
Por ejemplo para hacer el GIF con el que el otro día os comentaba el origen del nombre de la boca de Dragón habría bastado con copias las imágenes a una carpeta y escribir en un terminal:convert secuenciaFotos*jpg -delay 10 resultado.gif
El problema es que como la secuencia de fotografías la tomé sujetando la cámara con una mano (sin trípode) y la otra sujetando la flor, el movimiento, si bien no es muy perceptible en fotogramas fijos producía un tembleque muy antipático en el gif animado, así es que manipulé algo las imágenes antes de generar el gif buscando estabilizar algo es movimiento.
Para alinear un secuencia de imágenes he usado una de las herramientas que instala Hugin, el programa para generación de panorámicas, y que ya estáis tardando en instalar si no lo tenéis ya instalado (open-source, gratuito y multiplataforma).
Hugin instala una aplicación llamada align_image_stack. Esta aplicación forma parte del paquete de Hugin para la creación de panoramas y es la encargada de cogiendo un conjunto de imágenes (2 ó más, claro) crear otro conjunto de imágenes cuyos motivos fotográficos se encuentren a la misma altura.
Es muy útil incluso para corregir pequeñísimas variaciones en series de fotografías tomadas sobre trípode y es también sorprendentemente eficaz alineando fotografías realizadas a mano con encuadres muy dispares.
Vaya, una herramienta muy a tener en cuenta
La orden para alinear un grupo de imágenes es: align_image_stack -a prefijoAlineadas foto00*jpg
dadas las imágenes foto001.jpg, foto002.jpg, foto003.jpg, la orden anterior produciría prefijoAlineadas_0001.tif, prefijoAlineadas_0002.tif, prefijoAlineadas_0003.tif y algo como esto:
Las fotografías han sido alineadas a partir de la primera produciendo una rotación-translación que estabilice el conjunto.
Observación 1: los fotogramas 1 y 2 son idénticos. La secuencia original eran 11 fotos y para eliminar un hueco en este mosaico he duplicado el primero.
Observación 2: El motivo fotográfico cambia entre fotogramas, no solamente en su nivelado culpa del pulso fotográfico sino que además cambian la posición de los dedos y de la flor. A pesar de eso el cálculo de alineación detectó perfectamente los objetos comunes y niveló razonablemente (dadas las pésimas condiciones iniciales) bien los objetos.
A continuación podemos repetir el gif animado usando la nueva secuencia de TIFs.
En el siguiente gif puedes comparar los resultados entre ambas secuencias. A la izquierda secuencia original y a la derecha secuencia estabilizada.
Para producir la imagen final solo faltaría disimular la rotación de las fotografias procurando que el GIF conserve el fondo del fotograma anterior antes de dibujar el siguiente. Para eso añadimos la opción -layers
convert secuenciaFotos*jpg -delay 10 -layers OptimizeTransparency resultado.gif
Facus
#1/ 27 de August/2012 a 05:50:38
Otros comentarios de «Facus»
Muy buen dato! Gracias :D
Recuerdo el apunte sobre un petirrojo que hiciste hace un tiempo en donde el pajarito se estabilizaba increíblemente cuando fijaba la vista en algo. Ese video lo habías estabilizado con Motion? o con esta herramienta?
Un saludo.
Trebol-a
#2/ 27 de August/2012 a 09:28:33
Otros comentarios de «Trebol-a»
Hola Facus,
no, ese vídeo que comentas, este: http://wp.me/p11i89-1DT
no tiene ningún tipo de estabilización, eso era lo llamativo, lo bien que estabilizaba el pájaro su cabeza sin ayuda de artificios! :D
18 de December, 2024 @ 17:23