Cambiar el tamaño de varias imágenes en Linux (Ubuntu)

Recientemente tuve la necesidad de cambiar el tamaño de varias imágenes tomadas con una cámara digital para poder enviarlas por correo, en Windows recuerdo haber utilizado Paint Shop Pro para algo similar (realizar las mismas modificaciones a un conjunto de imágenes). Es algo que no había hecho antes en Linux, así que busqué y encontré cuatro opciones :), las cuales muestro a continuación.

Nautilus Image Converter

http://freshmeat.net/projects/nautilus-image-converter/
Un script para nautilus, agrega las opciones “Resize image…” y “Rotate image…” al menú contextual (clic con el botón secundario) para todas las imágenes. Se encuentra en los repositorios de Ubuntu, por lo que para instalarlo basta con usar:

$ sudo aptitude install nautilus-image-converter

Probablemente sea necesario reiniciar la sesión para que el script esté activo.

Nautilus Image Script

http://www.creationgif.com/debian/nis/
Otro script para Nautilus, este no se encuentra en los repositorios de Ubuntu, es otra opción aunque no la probé :P.

Imagemagick: mogrify

También podemos hacer uso de Imagemagick, con el uso de los comandos mogrify o convert.
Primero debemos instalar imagemagick:

$ sudo aptitude install imagemagick

mogrify permite modificar un conjunto de imágenes, en el caso de las mías, suponiendo que mis imágenes tengan extensión JPG y se encuentren en el directorio /home/usuario/imágenes/fotos, creamos un nuevo directorio al que copiamos todas las fotos:

cd /home/usuario/imágenes/fotos
mkdir peques
cp * peques

Ahora, nos pasamos al directorio peques y ejecutamos mogrify para que redimensione todas las imágenes JPG a un ancho de 320, el alto lo determina automáticamente Imagemagick manteniendo la proporción :).

cd peques
mogrify -resize 320 *.JPG

Imagemagick: convert

El comando convert permite redimensionar una imagen mediante la siguiente sintaxis:

convert -resize 'anchoxalto' imagen_original nueva_imagen

Pero sólo trabaja con una imagen a la vez, así que para poder convertir un conjunto de imágenes, hacemos uso de un script 🙂

#!/bin/bash
 
for x in $(ls *.JPG); do
	convert -resize '320x240' $x peque-$x
done

Este script lo colocamos en el directorio donde se encuentran las fotos, listará todos los archivos .JPG y creará una copia redimensionada a 320×240 agregando la palabra “peque” al nombre de la imagen :).

Espero sea de utilidad.

5 comentarios en “Cambiar el tamaño de varias imágenes en Linux (Ubuntu)”

  1. Claro… ok, ahora entiendo el tema, se trata de cambiar el tamaño de muchas imágenes a la vez; por ahora no me ha hecho falta, pero si llega el caso ya se donde está la solución… 🙂

    Saludos.

  2. Hola de nuevo.

    Sabes si el comando mogrify de imagemagick permite redimensionar un grupo de imágenes, pero todas al mismo alto en vez de al mismo ancho?

    Gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *