GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Optimice imágenes JPEG/JPG en Ubuntu con Jpegoptim

La capacidad de resolución de imagen de los dispositivos de captura de fotografías actuales, como los teléfonos inteligentes y las cámaras digitales, aumenta día a día. El verdadero problema surge cuando tenemos que compartir estas imágenes, cargarlas en una instalación en la nube o incluso guardarlas en un dispositivo con almacenamiento restringido. Los diseñadores gráficos también tienen que lidiar con el mismo problema, pero están bien equipados con herramientas que pueden comprimir las imágenes para que puedan compartirse fácilmente con las partes interesadas.

Para Ubuntu, existen muchas utilidades gráficas que le permitirán optimizar y comprimir sus jpegs, pero aquí analizaremos una herramienta de línea de comandos llamada Jpegoptim. Esto es especialmente útil para los expertos en terminales a quienes les gusta realizar sus tareas utilizando los recursos mínimos del sistema. Jpegoptim puede ayudarlo a comprimir sus archivos jpegs, jpg y jfif con y sin pérdida de calidad, según lo que esté buscando.

En este artículo, describiremos cómo puede instalar la utilidad de línea de comandos Jpegoptim en Ubuntu. También explicaremos varias formas en las que puede usar esta aplicación para optimizar y comprimir sus archivos de imagen jpeg. El artículo también le permitirá escribir y ejecutar un script bash que automatizará el proceso de comprimir todos los archivos jpeg ubicados en un solo directorio.

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.

Instalación de Jpegoptim en Ubuntu

Jpegoptim está fácilmente disponible a través del repositorio oficial de Ubuntu y se puede instalar fácilmente a través de la línea de comandos con el comando apt-get.

Abra su aplicación Terminal ya sea a través de la búsqueda del iniciador de aplicaciones del sistema o mediante el atajo Ctrl+Alt+T.

El siguiente paso es actualizar el índice del repositorio de su sistema a través del siguiente comando:

$ sudo apt-get update

Esto le ayuda a instalar la última versión disponible de un software de Internet. Tenga en cuenta que solo un usuario autorizado puede agregar, eliminar y configurar software en Ubuntu.

Ahora está listo para instalar Image Jpegoptim; puede hacerlo ejecutando el siguiente comando como sudo:

$ sudo apt-get install jpegoptim

El sistema puede pedirle la contraseña de sudo y también proporcionarle una opción S/n para continuar con la instalación. Ingrese Y y luego presione enter; el software se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.

Puede verificar el número de versión de la aplicación y también verificar que efectivamente esté instalada en su sistema, a través del siguiente comando:

$ jpegoptim --version

Uso de Jpegoptim para la compresión de imágenes

Exploremos ahora el poder de Jpegoptim a través de las siguientes formas en que puede usarlo:

Comprime sin pérdidas una sola imagen

Si desea comprimir una sola imagen sin querer comprometer la calidad, use el siguiente comando:

$ jpegoptim image_name.jpg

Ejemplo:

$ jpegoptim sample.jpg

Nota: Tenga en cuenta que la herramienta sobrescribe la imagen existente, por lo que es una buena idea guardar la imagen original en otro lugar.

Si desea que la imagen se comprima aún más, puede ejecutar el mismo comando nuevamente. Sin embargo, Jpegoptim comenzará a omitir la compresión si alcanza el límite en el que tiene una calidad de imagen sin pérdidas con la mayor compresión.

Así es como se vería la salida en tal situación:

Comprimir una imagen a otra carpeta

Si tiene miedo de perder su imagen original porque Jpegoptim la sobrescribirá, puede decirle a la herramienta que guarde la imagen comprimida en otra carpeta.

Primero, cree una carpeta donde desee guardar las imágenes comprimidas. Si desea que se guarden en una carpeta ya existente, no necesita crear una nueva. Luego puede usar la siguiente sintaxis de comando para realizar la compresión:

$ jpegoptim -d ./[carpeta de destino] -p [nombre_imagen].jpg

Por ejemplo:

$ jpegoptim -d ./compressed -p sample.jpg

El comando anterior comprimirá y guardará mi archivo sample.jpg en una carpeta ya existente llamada "comprimido".

Comprobar la compresión potencial

Si quieres ver, de antemano, cuánto es capaz de comprimir una imagen, puedes simular la compresión de imágenes a través de Jpegoptim. El siguiente comando en realidad no comprimirá la imagen, solo le dirá cuánto se comprimirá la imagen si alguna vez intenta comprimirla con Jpegoptim.

El siguiente ejemplo explicará mejor el proceso:

Tengo una imagen jpg llamada muestra.jpg. Imprimiré su tamaño primero a través del comando du de la siguiente manera:

$ du sample.jpg

Luego, usaré el indicador -n con el comando jpegoptim para conocer su posible compresión.

$ jpegoptim -n sample.jpg

Cuando volví a verificar su tamaño después de usar el comando jpegoptim como se indicó anteriormente, no vi ningún cambio en su tamaño. Esto garantiza que el comando jpeg con el indicador -n solo muestre el futuro porcentaje de compresión y el tamaño sin comprimir realmente la imagen.

Comprimir Imágenes “con” pérdida de calidad

A veces queremos comprimir nuestras imágenes sabiendo que el proceso no será sin pérdidas. Lo bueno es que con Jpegoptim puedes especificar con cuánta pérdida de calidad estás de acuerdo. Hay dos formas de comprimir tus imágenes con "pérdidas":

1. Uso de la bandera -m para especificar el factor de calidad/porcentaje: Establece el factor de calidad de imagen máxima (desactiva el modo de optimización sin pérdidas, que está activado de forma predeterminada). Esta opción reducirá la calidad de los archivos de origen que se guardaron con una configuración de mayor calidad. Mientras que los archivos que ya tienen una configuración de calidad inferior se comprimirán con el método de optimización sin pérdidas.

Así es como puede especificar el porcentaje de compresión:

$ jpegoptim -m[percentage_in_numbers] image.jpg

Esta fue mi imagen original:

Y así es como se ve con un factor de calidad del 10 por ciento:

2. Usando la opción –size para especificar el tamaño de la imagen comprimida: Intente optimizar el archivo a un tamaño determinado (deshabilita el modo de optimización sin pérdidas). El tamaño de destino se especifica en kilobytes (1 – n)

o como un porcentaje (1% - 99%) del tamaño del archivo original.

Así es como puede especificar el tamaño en kbs para la imagen resultante:

$ jpegoptim --size=[size-in-kb] image_name.jpg

Archivos de imagen de optimización por lotes

Hay varias formas de usar Jpegoptim para comprimir varios archivos a la vez.

El primero es especificar todos los archivos que desea comprimir en un solo comando jpegoptim de la siguiente manera:

$ jpegoptim file1.jpeg file2.jpg file3.jpg

El comando sobrescribirá todos los archivos especificados y los recién comprimidos.

El segundo método es decirle a Jpegoptim que comprima todos los archivos de cierto tipo, por ejemplo, jpg, todos en la misma carpeta:

$ jpegoptim *.jpg

Para ver cómo funciona este comando, enumeré todos los archivos en mi carpeta Imágenes con el indicador -l. Este comando imprimiría el tamaño total de todas las imágenes que residen en la carpeta actual:

$ ls -l

Luego usé el mismo comando ls -l para ver cuánta diferencia ha hecho el comando Jpegoptim en el tamaño total de todos los archivos. Puede ver la notable diferencia en el total de bytes en el siguiente resultado:

Estos eran solo dos archivos; puedes ahorrar mucho espacio así. La belleza de todo el proceso es que no compromete la calidad de sus valiosas imágenes. Por supuesto, puede hacer lo mismo con otros formatos de archivo compatibles con Jpegoptim.

La tercera y muy útil opción es que incluso puede utilizar un script de shell para automatizar la compresión de todos los archivos de un solo tipo ubicados en el directorio actual. He aquí cómo hacerlo:

Bash Script para comprimir todos los archivos jpg en el directorio actual

Esta sección explicará cómo puede escribir un script de shell que comprimirá todos los archivos jpg ubicados en el directorio actual en una carpeta llamada "comprimido". El script no creará la carpeta; simplemente guardará la salida en una carpeta ya creada con este nombre.

Primero, vaya a la carpeta Documentos donde crearemos el script:

$ cd Documents

Nota:Puede guardar el script en cualquier lugar que desee. Es recomendable que crees todos los scripts en la misma carpeta para que no pierdas la pista de dónde los has guardado. Personalmente, prefiero guardar todos mis guiones en la carpeta Documentos.

Crear el guión

Abra un nuevo archivo de script en uno de sus editores de texto favoritos. Usaremos el editor nano para abrir un archivo de script vacío con el nombre de compressAll.sh

$ nano compressAll.sh

En ese archivo vacío, agregue el siguiente script.

#!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Consejo: En lugar de escribir todo el script en su archivo bash, puede copiarlo desde aquí y pegarlo en la Terminal usando Ctrl+Shift+V, o usando la opción Pegar del menú contextual.

Así es como se vería su archivo:

Ahora, salga del archivo a través del atajo Ctrl+X. Luego se le pedirá que guarde el archivo en "¿Guardar búfer modificado?" oportuno. Escriba Y y luego presione Enter; su archivo de script ahora está guardado en la carpeta actual.

Para hacer que este archivo sea ejecutable por el usuario actual, ejecute el siguiente comando en su Terminal:

$ chmod +x compressAll.sh

Para ejecutar el script, cambie su directorio actual al que desea comprimir los jpg (en mi caso, el directorio Imágenes). Asegúrese de que el directorio contenga una carpeta llamada "comprimida". Si no está allí, cree uno antes de ejecutar el script.

Ejecutar la secuencia de comandos

Finalmente, ejecute el script de la siguiente manera:

$ /home/[username]/Documents/compressAll.sh

Este comando ejecutará el script bash desde la carpeta en la que lo creó. Esta es la razón por la que tuvo que especificar la ruta completa a ese archivo .sh.

Verá que todos los archivos comprimidos se escribirán en la carpeta "comprimido". Puede verificar esto a través del siguiente comando:

$ ls compressed

Se trataba de la optimización de imágenes a través de la utilidad Jpegoptim. Para más detalles, puede ver la página de manual a través del siguiente comando:

$ man jpegoptim

Ahora compartir sus imágenes a través de Internet y cargarlas en una ubicación restringida de almacenamiento y ancho de banda no debería ser un problema


Ubuntu
  1. Ubuntu Xenial Xerus 16.04 Descarga de imagen ISO de Linux con zsync

  2. Instalar Ubuntu 20.04 en Raspberry Pi

  3. Cómo optimizar y comprimir imágenes JPEG o PNG en la línea de comandos de Linux

  4. Sugerencia rápida:convierta imágenes en la línea de comando con ImageMagick

  5. Cómo compartir imágenes de Docker con otros

¿Cómo convertir PNG, JPEG a WebP en Ubuntu? (También WebP a PNG y JPEG)

Cómo flashear/grabar una imagen del sistema operativo con Etcher en Ubuntu

Optimización/compresión de imágenes sin pérdidas con Trimage en Ubuntu

Cambiar el tamaño de las imágenes con un clic derecho en Ubuntu y otras distribuciones de Linux [Consejo rápido]

Comando de optimización de imagen Jpeg de Linux

Mejora automática de imagen para Ubuntu