Cómo editar, convertir y redimensionar varias imágenes al mismo tiempo en Ubuntu

Editar imagenes en Ubuntu

Hay muchas opciones para editar imágenes en Ubuntu, pero personalmente la mayoría no me gustan. Si quiero cambiar el tamaño una imagen, no me apetece tener que esperar el tiempo que tarda GIMP en abrirse. Siempre podemos instalar nautilus-image-converter para rotar y girar imágenes con el botón derecho desde Nautilus pero, ¿para qué instalar un paquete, que encima no muestra bien el texto, si tenemos instalado uno por defecto que lo hace? En este artículo os enseñaremos cómo editar, convertir, redimensionar y algunas cosas más las imágenes desde el Terminal de Ubuntu.

Lo mejor de todo es que lo que vamos a explicar en esta guía se puede aplicar a varias imágenes a la vez. Por ejemplo, si queremos cambiarle el nombre a 10 fotos sin tener que hacer clic derecho, elegir “Renombrar” y poner el nombre 10 veces, podemos hacerlo usando ImageMagick, el visor de imágenes por defecto de Ubuntu y otras distribuciones, entre las que está Ubuntu MATE, mi favorita. A continuación tenéis varios comandos de ejemplo para realizar varias de estas operaciones aprovechando el Bash de Ubuntu.

iMageMagick

ImageMagick viene instalado en muchas distribuciones, como las mencionadas Ubuntu o Ubuntu MATE. Si vuestra distro no lo trae instalado por defecto, lo podréis instalar abriendo un Terminal y escribiendo el siguiente comando:

sudo apt-get install imagemagick

Renombrar imágenes

Si, por ejemplo, hacéis un tutorial de muchas capturas, éstas tendrán un nombre que no tendrá nada que ver con lo que queremos mostrar. Gracias a ImageMagick podemos renombrarlas desde el terminal con un comando muy simple. Como veréis más adelante, podemos cambiar el formato de las imágenes y usaremos justamente el mismo comando, pero adecuado a nuestra tarea. Sería de la siguiente manera:

convert *.png prueba.png

Al mantener la extensión y añadir una palabra de salida, lo que hará es guardarlas todas con el mismo nombre, pero con un número diferente.

Redimensionar imágenes

Casi todas las ediciones de esta guía usan la clave convert. Para redimensionar imágenes con ImageMagick desde el Terminal escribiremos el siguiente comando, donde “prueba” será el nombre de la imagen que queremos convertir a otro formato:

convert prueba.png -resize 200×100 prueba.png

Con el comando anterior habremos cambiado el tamaño una imagen a un tamaño de 200×100 pixeles. El primer valor es el tamaño de ancho y el segundo de alto. Si usamos el mismo nombre, la imagen resultante sustituirá a la original. Si sólo queremos cambiar el ancho y que el alto sea proporcional, escribiremos el siguiente comando, donde 200 sería el tamaño elegido en pixeles:

convert prueba.png -resize 200 prueba.png

Si queremos que tenga 200 pixeles de alto, tendríamos que dejar vacío el primer valor (“vacío”x100), por lo que escribiríamos el siguiente comando:

convert prueba.png -resize x100 prueba.png

A veces no se respetarán los valores exactos, pero si queremos que así sea, podemos escribir el siguiente comando, donde 200×100 sería el tamaño elegido:

convert prueba.png -resize 200×100! prueba.png

Rotar imágenes

editar-imagenes-ubuntu

Si lo que queremos es rotar las imágenes, podemos hacerlo con el siguiente comando, donde 90 serían los grados de inclinación:

convert prueba.jpg -rotate 90 prueba-rotado.jpg

Añadirá el texto que le configuremos en el archivo de salida, siempre y cuando lo escribamos de diferente manera.

Editar el formato de las imágenes

ImageMagick también nos permite convertir imágenes a otro formato directamente desde el Terminal. Lo haríamos con el siguiente comando:

convert prueba.png prueba.jpg

Si lo que queremos es sólo bajarle la calidad para enviar las imágenes por correo, por ejemplo, escribiríamos el siguiente comando, donde el número es el tanto por cien de calidad:

convert prueba.png -quality 95 prueba.jpg

Combinar operaciones

Si queremos realizar diferentes modificaciones de este tipo a una imagen, lo podemos hacer combinando operaciones. A continuación tenéis un ejemplo para redimensionar, rotar 180º y bajar la calidad de una imagen al 95%.

convert prueba.png -resize 400×400 -rotate 180 -quality 95 prueba.jpg

Procesado con el Bash

Bash Ubuntu

Pero lo que más me gusta a mí es esto, editar muchas imágenes al mismo tiempo. Antes de editar varias imágenes, merece la pena ponerlas todas en la misma carpeta. Yo suelo dejarlas en el escritorio, por lo que primero escribo el comando:

cd /home/pablinux/Escritorio

Una vez dentro de la carpeta, escribimos el siguiente comando para redimensionar todas las imágenes con formato .png de la carpeta Escritorio a 830 pixeles de ancho y que le añada delante la palabra “primera”:

for file in *.png; do convert $file -resize 830 primera-$file; done

Básicamente, lo que le decimos es “todos los archivos que estén dentro de esta carpeta y tengan formato .png; haz la conversión de redimensionado a 830 de ancho y añádele primera- al nombre del archivo; fin“. Si editáis muchas imágenes, quizá os merezca la pena. ¿Qué opináis?


3 comentarios

  1.   Jimmy Olano dijo

    ¡MEJOR IMPOSIBLE!
    Aunque tenía noción sobre la herramienta “convert” PENSABA era un comando “nativo” de Ubuntu, ahora hoy he aprendido que es parte de ImageMagick.

    Mi enhorabuena por el artículo, sencillo, directo al grano y bien redactado para una comprensión rápida ¡incluso lo del bash cuela sin mayor complicación!

    Gracias.

    1.    Pablo Aparicio dijo

      Hola, Jimmy. Gracias por tu comentario. Aún se pueden hacer más cosas, como aplicar efectos, pero de verdad creo que no merece la pena usar el Terminal para eso. Si tenemos que aplicar efectos, lo mejor es abrir las imágenes y ver lo que hacemos, o así lo creo yo.

      Un saludo.

  2.   Alfonso dijo

    Gracias Pablo. Es algo a tener en cuenta en un momento dado.

Escribe un comentario