Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Creando mosaicos

SegFault's Diary
Por SegFault
departamento trasteando con nuestras fotos , Sección Diarios
Puesto a las Mon Sep 6th, 2004 at 05:28:26 PM CET
Hace poco se casó un amigo mio y claro, con la explosión de las cámaras digitales ocurrió lo inevitable, entre todos los amigos conseguimos obtener unas pocas cientos de fotos sobre la ceremonia y posterior celebración. Así que me propuse a hacerle un regalo y utilizar todas esas fotos para hacerle un mosaico y he decidido contaros mi (infructuosa) experiencia.

 


El programa que utilicé fue Metapixel, un sencillo programa de consola que hace lo que se le pide. Su uso constá de 2 fases, una primera en la que "preparamos" las fotos que vayan a usarse (sólo habría que hacerlo una vez) y la segunda en la que se genera el mosaico a partir de las fotos. Pero, hay algunas peculiaridades con las que nos podemos encontrar, os cuento. Una vez instalado el programa, lo primero que tenemos que hacer es copiar todas nuestras fotos a un directorio "temporal" para poder generar las librerías. Sería interesante que el metapixel pudiese navegar por la estructura de directorios, pero todas las fotos tienen que estar en un mismo directorio. Una forma de hacerlo es utilizando el comando find.

find ~/MisFtos/ -size +20k -a \( -iname "*jpg" -o -iname "*jpeg" -o -iname "*png" \) -exec cp {} tempfotos/ \;

De esa forma copiamos todos los ficheros con extensión jpeg, jpg o png que tengan más de 20KB (para eliminar los thumbnails que generan muchos visualizadores gráficos). Una vez que los tenemos todos, utilizamos un script incluido con metapixel que necesita 2 parámetros: el directorio donde están las imágenes de la biblioteca y un directorio (que debe existir) en el que creará la biblioteca. Una vez que tengamos la biblioteca podremos eliminar el directorio temporal que creamos antes y recuperar el espacio de disco. En mis pruebas, cree distintas bibliotecas con distintos tamaños de imagenes para poder jugar con esas opciones. El comando a utilizar es metapixel-prepare --width=32 --height=32 tempfotos tabla32, que creará las tablas necesarias en el directorio tabla32. Podemos repetir la operación cambiando los parámetros a 64 (no olvideis crear un nuevo directorio, por ejemplo tabla64) y así tendremos distintos juegos de imágenes. El proceso de preparar las imágenes consume algo de tiempo, pero sólo tendremos que hacerlo una vez. En mi caso particular, en un Athlon 750MHz llevó casi 18 minutos para procesar algo más de 2100 fotos.

Después se trata de crear el mosaico jugando con los parámetros. Como es un proceso que no lleva demasiado tiempo, es recomendable hacer distintas pruebas y quedarnos con la que más nos convenza.

Parámetros con los que podemos jugar son -d, que le dicen el espacio mínimo (en imágenes) que debe haber entre 2 apariciones de la misma imágen y -a que recibe un parámetro que significa el porcentaje de "trampa" que puede usar (haciendo que se pisen las imágenes). Aparte, también está la opción -c que hará que en lugar de un mosaico el resultado sea un collage. De esa forma las imágenes no estarán situadas en una matriz, sino que algunas se solaparán entre ellas. Como crear cada imagen lleva menos de medio minuto, podemos hacer distintas pruebas, incluso podriamos crear un script que crease una bateria de mosaicos y automatizarlo, de forma que después tan sólo tengamos que escoger nuestra favorita. Algunos ejemplos de órdenes son:

metapixel --metapixel ~/MisFotos/Personales/favorita.jpg mosaico.png <tabla32/tables.mxt

metapixel --metapixel -d5 ~/MisFotos/Personales/favorita.jpg mosaico-d5.png <tabla32/tables.mxt

metapixel --metapixel -d5 ~/MisFotos/Personales/favorita.jpg mosaico-d5-64.png <tabla64/tables.mxt

metapixel --metapixel -c -d2 ~/MisFotos/Personales/favorita.jpg collage.png <tabla32/tables.mxt

Desgraciadamente, las pruebas que yo he hecho no me han dejado nada satisfecho, pero posiblemente sea porque necesito tener más fotos y más variedad en las fotos (casi todas son negras porque son de noche). En los ejemplos del programa se han usado más de 20000 fotos, con lo que las pruebas son muy distintas a las mias.

Otro programa que conozco (escrito en Java y más visual) es JImage Mosaic, pero no he llegado a probarlo porque supongo que las limitaciones serán las mismas y que necesitarás tener una buena selección de fotos, con gran cantidad y variedad.

Y ya sólo queda desearos suerte con vuestros mosaicos :-)

< Monta un servidor para un proyecto libre (8 comments) | Segunda petición de contribuciones para las IV Jornadas Andaluzas de Software Libre (2 comments) >
Enlaces Relacionados
· Metapixel
· ejemplos del programa
· JImage Mosaic
· More on SegFault's Diary
· Also by SegFault

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Creando mosaicos | 0 comentarios ( temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda