Convirtiendo imágenes con ImageMagik (I)

ImageMagik es un programa de tratamiento de imágenes pensado para ser usado desde la consola de texto. Podemos preguntarnos que para qué queremos usar la consola de texto cuando tenemos programas como Gimp, que nos permiten manipular las imágenes comodamente desde un entorno gráfico. Pues bien, hay situaciones en las que nos puede resultar más útil usar la consola que un programa gráfico. Una, muy habitual, es que tengamos una serie de imágenes a las que queremos aplicar un determinado cambio. Por ejemplo, tenemos varias imágenes en formato jpg y queremos crear a partir de ellas unos thumbnails de un tamaño de 150×150 pixeles en formato png. Hacerlo una a una con Gimp puede ser un proceso largo y aburrido, sobre todo si son muchas imágenes, pero desde la consola, con ImageMagik, podemos hacerlo escribiendo una sola línea de texto.

Para ello primero deberemos comprobar si tenemos instalado ImageMagik. Si no es así lo instalaremos. Después abriremos una terminal dentro del directorio en el que se encuentran las imágenes.

El comando convert nos permite realizar distintos tipos de conversiones en una imágen. La opción -resize sirve cambiar el tamaño. Veamos unos ejemplo sencillos:

convert elefante.jpg elefante.png

convert elefante.jpg -resize 64×64 elefantemini.jpg

convert elefante.jpg -resize 64×64 elefante.png

En el primer ejemplo hemos cambiado de formato, en el segundo de tamaño y en el tercero de formato y tamaño a la vez.

Ahora volvamos al ejemplo que proponíamos en el primer parrafo:

Reducir imágenes

Tenemos varias imágenes. Podemos escribir uno a uno los nombres de cada imágen, pero si son muchas resultaría demasiado lento. Lo mejor es meterlas todas en una misma carpeta. Luego abrimos una terminal, dentro de la carpeta, y escribimos:

convert ‘*.jpg’ -resize 150×150 imagen%02d.png

Con ‘*.jpg’ le estamos diciendo al programa que tome como entrada a todos los archivos que terminen en .jpg que hay en ese directorio; con imagen%02d.png estamos diciendo que los archivos de salida serán en formato png y su nombre estará formado por la palabra imagen seguida de un número formado por dos dígitos (imagen00, imagen01, imagen02, imagen03,…); si tenemos más de 100 y necesitamos usar 3 dígitos escribiremos %03d, en lugar de %02d.

Aunque le hayamos dicho que las reduzca todas a una tamaño de 150×150 pixeles, convert respetara siempre las proporciones de la imágen original (asignando los 150 pixeles a uno solo de los lados). Si queremos que la anchura sea siempre la misma, y sea la altura lo que varíe, escribiremos solo el primero de los valores (-resize 150). Si, por el contrario, queremos que sea la altura lo que permanezca constante, escribiremos el segundo valor precedido del signo x  (-resize x150). Y si lo que queremos es que se ajuste al ancho y alto que hemos determinado, ignorando las proporciones de la imágen original, añadiremos \! (barra invertida exclamación); ejemplo:  -resize 150×150\!, cuando las proporciones no coincidan la imágen se deformará para ajustarse al tamaño asignado.

Si tenemos muchas imágenes puede ser más rápido si escribimos:

convert ‘*.jpg'[150×150] imagen%02d.png

Esto hará que, en lugar de leer primero todas las imágenes y luego reducirlas, las vaya reduciendo según las va leyendo; con esto el ordenador irá más rápido y consumirá menos recursos.

Podemos, también, reducir las imágenes en un tanto por ciento, por ejemplo escribiendo -resize 50% las reduciremos a la mitad.

Ahora vamos a ver otras opciones para reducir imágenes:

thumbnail

Esta opción esta pensada para reducir el tamaño de imágenes muy muy grandes. Combina tres opciones: -strip elimina la información adicional que suele acompañar a las fotos de las camaras digitales y a las imágenes tratadas con algunos programas de retoque fotográfico; -sample reduce varias veces la imágen; y -resize da el tamaño final. Por ejemplo:

convert ‘*.jpg’ -thumbnail 150×150 imagen%02d.png

scale

Es una versión simplificada de resize. Es más rápido y ligero, pero la imágen resultante puede perder algo de calidad.

convert ‘*.jpg’ -scale 150×150 imagen%02d.png

3 comentarios el “Convirtiendo imágenes con ImageMagik (I)

  1. aisgar dice:

    Cada vez me parece más increíble la de cosas que se pueden hacer desde la consola. Por cierto, también viene muy bien esta utilidad para ordenadores antiguos de recursos limitados en los que instalar Gimp es una utopía.

  2. Denis dice:

    Quiero agradecerte este post. Pues me ha sido de mucha utilidad.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s