Optimizar Imagenes con convert en Linux.

Paseo Muevete en Bici 2016-03-27 11-08

Después de tomar algunos cientos de fotografías, regresaba a casa para reducirlas en tamaño y calidad a fin de que su consulta vía Internet fuera rápida y fluida. Luego elimino las imágenes similares e inapropiadas, para finalmente publicarlas en #mipalmera.

El proceso de conversión a una menor tamaño y a una menor calidad promediaba los 50 minutos por cada ciento de imágenes, algo que debía hacer en cuanto llegaba si quería que ese mismo día se publicaran las fotos. Con el cambio a Linux (Open Suse) los tiempos se relucieron drásticamente.

Te cuento que Linux tiene un comando de consola que te permitirá escalar las imágenes, respetando su orientación y su proporción de una forma bastante sencilla, al mismo tiempo también puedes reducir la calidad de la imagen.

 

Vamos a preparar la carpeta de imágenes.

Lo primero es copiar la carpeta de imágenes de la memoria de la cámara al directorio de imágenes de tu computadora y crear una subcarpeta con el nombre resize.

 

Diccionario básico de comandos en consola.

  • l muestra una lista de archivos y carpetas en el directorio actual.
  • cd.. sale de la carpeta actual.
  • cd Imágenes entra a la carpeta Imágenes si existe en el directorio actual.
  • cd "04 Abril" también entra a la carpeta pero por el espacio hay que utilizar las comillas.
  • exit finaliza la sesión de trabajo en la termina.

 

Ejemplo del comando convert

  • convert -scale 37% "lafoto.jgp" "./resize/lafoto.jpg" Reduce las dimensiones de la imagen.
  • convert -quality 70% "otrafoto.jgp" "./resize/otrafoto.jpg" Reduce la calidad de la imagen.

 

Sintaxis propuesta para el comando convert.

find . -name "*.JPG" | xargs -l -i basename -s ".JPG" "{}" | xargs -l -i convert -scale 37% -quality 70% "{}.JPG" "./resize/{}.jpg"

 

Recuerda que Linux distingue entre mayúsculas y minúsculas, así que checa bien como se graba la extensión de los archivos. La siguiente lista de pasos es una propuesta que puedes modificar de acuerdo a tus necesidades, y practica con una carpeta de prueba.

 

Manos a la obra!

  • Abrir una terminal
  • l para mostrar una lista de archivos y carpetas
  • cd Imágenes para entrar a la carpeta de imágenes
  • cd 20160411 para entrar a la carpeta que copiamos de la cámara.
  • find . -name "*.JPG" | xargs -l -i basename -s ".JPG" "{}" | xargs -l -i convert -scale 37% -quality 70% "{}.JPG" "./resize/{}.jpg" para procesar todas las imágenes de la carpeta.
  • exit para salir de la terminal

 

Listo, ahora puedes entrar a la carpeta resize para ver el resultado del comando. Estoy seguro que después de algunas pruebas, este comando te puede ser de mucha utilidad. Hasta pronto!

 

Cuéntanos como te fue en el practica!

¿Que te parecio el contenido?