sábado, 21 de marzo de 2009

3 comentarios. Esto se anima...

Firma de imágenes automatizada

Buscando la manera de "firmar" unas cuantas fotografías con una marca de agua, de manera automatizada, he dado con la solución, en la Web de Roxana Falasco, en una aplicación llamada ImageMagick.

Lo primero es conseguirse el programa. Los Ubunteros lo tenemos fácil:


sudo aptitude install imagemagick


Los usuarios de Windows y Mac también. En los respectivos nombres de las plataformas tenéis los enlaces a los instaladores.

El resto de usuarios de GNU/Linux, tendréis que tirar de tarball... :-P

Una vez instalado, creé este script para automatizar el proceso:

for img in `ls *.JPG`

do

composite -dissolve 70% -gravity center img_marcadeagua.png $img $img

done

La primera línea indica a la consola que tiene que hacer algo sobre los archivos con extensión *.JPG que hay en el actual directorio.

¡Muy importante! Linux diferencia entre mayúsculas y minúsculas en los comandos. Fíjate si las imágenes tienen la extensión de una manera o de otra. Si están mezcladas, puedes recurrir a un renombrador de archivos masivo para que todas las extensiones sean iguales. Puedes conseguir uno muy bueno así:


sudo aptitude install pyrenamer

Para los usuarios de Windows, os puedo aconsejar Métamorphose, aunque también hay versiones para GNU/Linux.

Una vez solucionado el problema de los nombres y extensiones, la primera linea es interpretada correctamente, lo cual nos lleva a la segunda: do, del inglés hacer. Es evidente, ¿no? Pero... ¿qué tiene que hacer? Lo que dice la tercera línea: composite -dissolve 70% -gravity center img_marcadeagua.png $img $img. Vamos por partes :S...

composite es una de las utilidades de ImageMagick (¿os había comentado que es un programa en modo consola :$?). Compone una imagen a partir de dos. En este caso, nos interesa partir de una, que será la que tendrá nuestra marca de agua, por supuesto tendrá que ser una imagen transparente excepto el motivo a mostrar. En este caso img_marcadeagua.png.

Ni qué decir tiene que ha de ser un formato de imagen que soporte transparencias, como PNG...

$img $img significan, respectivamente, imagen de origen, imagen de salida. Se puede añadir a la segunda variable cualquier cosa, por ejemplo $img-firmado, para que se cree una copia de la imagen con la firma y con el nombre cambiado. Tal como lo tengo yo, se sobreescriben los archivos originales. También es posible añadir un directorio relativo de esta forma: firmado/$img. Se creará una subcarpeta llamada firmado, y dentro acabarán las imágenes nuevas con la marca de agua.

El modificador -dissolve 70% nos indica que se ha de mezclar la imagen con un valor porcentual, en mi caso un 70%. Por otro lado, -gravity center ajusta la posición de la imagen portadora de la marca de agua a que se situe en el centro de la que la va a ser firmada.

Para más detalles sobre los comando de ImageMagick, os remito a su web oficial (en inglés).

Yo lo que hago para procesar en lote un puñado de imágenes, que han de estar orientadas igual (vertical u horizontal) y tener el mismo tamaño, es colocarlas en un mismo directorio, y poner también el script, guardado en un archivo con la extensión *.sh, y la imagen con la marca de agua, previamente preparada con GIMP, también la pongo en la misma carpeta. Hago doble clic sobre el script, y cuando me pregunta qué hacer, le digo que ejecute (da igual, por Terminal o no). Para que ésto salga, hay que activar en Propiedades - Permisos del script la casilla Permitir ejecutar el archivo como un programa.

Podéis ver unos cuantos ejemplos de imágenes marcadas con mi nueva firma en unas fotos que he subido recientemente.

Pasad a verlas, y me decis qué os parecen, tanto las fotos como la firma ;).

Y sobre este truquito, aquí espero vuestras preguntas y dudas, que seguro las habrá. Si algún usuario de Windows quiere intentarlo, le invito a que comparta su experiencia :).

3 Comentarios - Haz el tuyo aquí:

josepin.net dijo...

No suelo utilizar las marcas de agua, pero a mí con el photoshop en tres pasos me arreglo. ;)

José GDF dijo...

Tienes razón, Josepin. Para dos o tres imágenes, te puedes apañar bien con Photoshop o GIMP, pero imagínate que tienes que hacer lo mismo con, por ejemplo, un centenar de fotos...

Para eso si viene muy bien automatizar un poco el proceso.

Saludos, tocayo ;)

RorPieTh^ dijo...

Tomo nota, si señor...

IMPORTANTE, antes de comentar, lee ésto:

Si tu comentario es una consulta, intentaré contestarte a la mayor brevedad posible.

Cualquier persona puede comentar en este blog. Si no estás registrad@ en ningunos de los servicios indicados y tampoco tienes web o blog, usa la opción Nombre/URL, pon tu nombre o nick y deja URL en blanco.

Si comentas con el perfil de Blogger activado, marca la casilla Enviar por correo electrónico comentarios de seguimiento. Así, si preguntas algo, sabrás de mi respuesta inmediatamente a través de tu e-mail.

Si lo que quieres es ponerte en contacto directamente conmigo, dispones para ello de un formulario de contacto.

En cualquiera de los casos, se agradecen tus aportaciones.

Aviso: Se borrarán todos los comentarios con publicidad descarada y enlaces que no aporten nada de interés (spam).

Para comentar, usa una de estas opciones:

 
Creative Commons License
Ni soy Informático, ni soy Músico
de José GDF
está bajo una licencia
Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España.

Versión móvil | Este blog ha sido visitado Contador de visitas únicas veces desde el 1 de enero de 2011.

Diseño original de BloggerThemes
Completamente destrozado por José GDF

Logo por Bonzu