En el siguiente artículo vamos a echar un vistazo a YOGA Image Optimizer. Esta es una herramienta para convertir fotos por lotes a JPEG, PNG y WEBP, y comprimir tamaños de archivo con una calidad equivalente. Se trata de una herramienta gratuita y de código abierto, la cual se basa en la herramienta de línea de comandos YOGA.
El backend de YOGA usa la biblioteca Python Pillow para convertir imágenes a PNG, JPEG o WebP. Utiliza la biblioteca Guetzli de Google para generar archivos JPEG, que suelen ser entre un 20% y un 30% más pequeños que utilizando libjpeg. Las bibliotecas Zopflipng y libwebp de Google se utilizan para optimizar los otros dos formatos de imagen. La herramienta de línea de comandos también admite la conversión y optimización de modelos 3D mediante la biblioteca Assimp.
Características generales de YOGA Image Optimizer
- El front-end oficial de YOGA proporciona una interfaz gráfica fácil de usar para realizar el proceso de conversión y optimización de imágenes en Gnu/Linux y Windows.
- Nos va a permitir abrir un lote de imágenes, mosteando sus miniaturas, el nombre y el tamaño del archivo de entrada, así como el nombre de salida y el formato del archivo.
- YOGA Image Optimizer admite varios formatos como entrada, y puede generar archivos JPEG, PNG y WebP optimizados (tanto con pérdida como sin pérdida).
- Antes de hacer clic en ‘Optimizar’ nos va a permitir elegir el formato de salida y establecer el nivel de compresión para cada una de las imágenes.
- Dispondremos de soporte multihilo. Vamos a poder establecer cuántos núcleos de CPU utilizar.
- Ofrece un modo oscuro.
- Patrón de salida personalizado.
Instalar YOGA Image Optimizer en Ubuntu
Para Gnu/Linux, este software se puede instalar a través del paquete Flatpak o usando pip3.
Mediante paquete Flatpak
Si estás utilizando Ubuntu 20.04 y todavía no cuentas con esta tecnología instalada en tu equipo, puedes seguir la guía que un compañero escribió en este blog hace un tiempo para habilitarla.
Cuando ya puedas instalar paquetes Flatpak, solo necesitarás abrir una terminal (Ctrl+Alt+T) y utilizar el siguiente comando de instalación:
flatpak install flathub org.flozz.yoga-image-optimizer
Finalizada la instalación, ya podemos buscar el lanzador del programa en el entorno gráfico.
Desinstalar
Si no termina de convencerte este programa, se puede eliminar fácilmente ejecutando el siguiente comando en la terminal (Ctrl+Alt+T):
flatpak uninstall --delete-data org.flozz.yoga-image-optimizer
Mediante pip3
Para aquellos que no les gustan los paquetes Flatpak, tienen la posibilidad de utilizar pip3. Aun que esta opción, NO crea un acceso directo a la aplicación para iniciarla desde el escritorio.
En primer lugar, vamos a abrir una terminal (Ctrl+Alt+T) y en ella vamos a ejecutar el siguiente comando para instalar las bibliotecas necesarias:
sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev libcairo2-dev pkg-config gir1.2-gtk-3.0
A continuación, ya podemos instalar el paquete de la aplicación mediante el comando:
sudo pip3 install yoga-image-optimizer
Como decía líneas más arriba, el paquete pip no tiene acceso directo a la aplicación. Por este motivo es necesario ejecutar el siguiente comando para iniciarlo desde la terminal y crear un archivo .desktop:
yoga-image-optimizer
Desinstalar
Para eliminar el paquete esta aplicación, solo necesitaremos abrir una terminal (Ctrl+Alt+T) y utilizar en ella el comando:
sudo pip3 uninstall yoga-image-optimizer
Uso básico de YOGA desde la terminal
Además de utilizar el entorno gráfico, el cual creo que no tiene mucho que explicar, también podremos usar la terminal para optimizar nuestras imágenes. La forma más sencilla de optimizar una imagen desde la terminal es mediante el siguiente comando:
yoga image imagen-entrada.png imagen-salida.webp
Cuando en la terminal no se especifica el formato de salida, YOGA genera una imagen con el mismo formato que la imagen de entrada. Solo se admiten PNG, JPEG y WEBP como entrada, cuando el formato de salida no se especifica explícitamente.
El formato de salida se puede especificar usando la opción –output-format:
yoga image --output-format=jpeg imagen-entrada.png imagen-salida.jpeg
Se admiten los siguientes formatos:
- orig: este es el predeterminado. El formato de salida será el mismo que el de la imagen de entrada.
- auto: el formato de salida se selecciona automáticamente. YOGA generará un PNG si la imagen de entrada usa transparencia, de lo contrario generará un JPEG.
- png: genera una imagen PNG.
- jpeg: genera una imagen JPEG.
- webp: genera una imagen WEBP con pérdida.
- webpl: genera una imagen WEBP sin pérdidas
Este programa también permite cambiar el tamaño de las imágenes con la opción –resize:
yoga image --resize=512x512 imagen-entrada.png imagen-salida.png
En este caso, si el ancho y el alto tienen el mismo valor, no es necesario que especifiquemos ambos.
YOGA también nos va a permitir ajustar la calidad deseada de archivos JPEG y WebP que se pueden generar con las opciones –jpeg-quality y –webp-quality. Estas opciones toman un número entero entre 0 (archivos con menor calidad) y 100 (archivos con mayor calidad) como parámetro:
yoga image --output-format=jpeg --jpeg-quality=84 imagen-entrada.png imagen-salida.jpg
Si eres un usuario de Gnu/Linux, esta es una opción interesante para optimizar tus imágenes, que además es gratuita y de código abierto. Se puede saber más sobre este programa en su página web o en el repositorio en GitHub del proyecto.