Aligerar el tamaño de una imagen desde la línea de comandos

A continuación documento el proceso que utilizo para reducir el espacio de almacenamiento que requiere una imagen en formato jpg para por ejemplo incrustarla en un sitio web. Además este proceso elimina los metadatos asociados a la imagen para evitar filtrar información sobre el dispositivo con el que se capturó. Obviamente se puede ajustar para las necesidades de cada quien.

convert -resize 75% -quality 80 -strip original.jpg salida.jpg

Según se detalla en este sitio el parámetro resize puede recibir también un ancho en pixeles (y calcular el alto para conservar la geometría). ¡Incluso un área en pixeles!

Como seguramente sospechas, el parámetro -strip está a cargo de eliminar los metadatos de la imagen.

Si además necesitas procesar bajo las mismas condiciones más de una imagen se puede hacer uso de find para lograr esto:

find carpeta/ -type f -name '*.jpg' -exec convert -resize 25% -quality 90 -strip {} salida/{} \;

Algo importante a mencionar de esta opción es que hay que asegurar que la carpeta de salida no sea una subcarpeta de la carpeta de archivos originales, pues de lo contrario find querrá procesar también las imágenes resultantes.