Reducir fotos desde línea de comandos

Aquí os dejo un script tan simple como útil que reduce todas las imágenes de una carpeta a un tamaño dado. Esto nos podría ser útil, por ejemplo, porque queremos subir 200 fotos a una web, pero como tienen mucha resolución pesan aproximadamente 2MB cada una, pues con este script podemos reducir su tamaño y conseguir que su peso se reduzca de manera considerable.

Para ello, tendremos que tener instalados en nuestra máquina los paquetes imagemagick y graphicsmagick-imagemagick-compat, en Ubuntu:

sudo apt-get install imagemagick
sudo apt-get install graphicsmagick-imagemagick-compat

Ahora, ya podemos utilizar el comando convert que será el responsable de realizar el redimensionado de las imágenes. De manera sencilla, podemos generar el thumbnail esta imágen:

Foto Mariposa

lanzando la siguiente instrucción:

convert -sample 50x50 mariposa.jpg mariposa-thumb.jpg

el resultado:

Foto Mariposa Thumbnail

Aquí os dejo el script que hace la redimensión de todas las imágenes de una carpeta al tamaño especificado en las variables WIDTH y HEIGHT:

THUMBDIR="thumbs"
PREFIX="thumb-"
WIDTH="100"
HEIGHT="100"
mkdir $THUMBDIR
for IMG in `ls * | egrep -e '.(bmp|BMP|gif|GIF|jpeg|JPEG|jpg|JPG|png|PNG|tiff|TIFF|wbmp|WBMP)'`
do
	echo Reduciendo $IMG...
	convert -sample $WIDTH"x"$HEIGHT $IMG $THUMBDIR/$PREFIX$IMG
done

2 thoughts on “Reducir fotos desde línea de comandos

  1. Esta muy bueno ese script.
    Sobre todo para aquellos que deseen aprender de programacion bash. (Igual que yo).

    Gracias.

  2. Hola¡¡
    Muy bueno tengo que provarlo, tienes algun script
    que suba varias fotos y datos a la vez.
    Un producto sus caracteristicas y fotos,
    me ayadarias mucho.
    Gracias

Comments are closed.