GNU/Linux >> Tutoriales Linux >  >> Linux

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

¿Tiene muchas imágenes y desea optimizar y comprimir las imágenes sin perder su calidad original antes de cargarlas en cualquier nube o almacenamiento local? Hay muchas aplicaciones GUI disponibles que le ayudarán a optimizar las imágenes. Sin embargo, aquí hay dos utilidades de línea de comando simples para optimizar imágenes y son:

  1. jpegoptim – es una utilidad para optimizar/comprimir archivos JPEG sin perder calidad.
  2. OptiPNG – es un pequeño programa que optimiza las imágenes PNG a un tamaño más pequeño sin perder ninguna información.

Con estas dos herramientas, puede optimizar una o varias imágenes a la vez.

Comprimir u optimizar imágenes JPEG desde la línea de comandos

jpegoptim es una herramienta de línea de comandos que se puede utilizar para optimizar y comprimir archivos JPEG, JPG y JFIF sin perder su calidad real. Esta herramienta admite la optimización sin pérdidas, que se basa en la optimización de las tablas de Huffman.

Instalar jpegoptim en Linux

Para instalar jpegoptim en sus sistemas Linux, ejecute el siguiente comando desde su terminal.

Sobre Debian y sus derivados
# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim
En sistemas basados ​​en RedHat

En sistemas basados ​​en RPM como RHEL , Cent OS , Fedora etc., debe instalar y habilitar el repositorio EPEL o, alternativamente, puede instalar el repositorio epel directamente desde la línea de comandos como se muestra:

# yum install epel-release
# dnf install epel-release    [On Fedora 22+ versions]

A continuación, instale el programa jpegoptim desde el repositorio como se muestra:

# yum install jpegoptim
# dnf install jpegoptim    [On Fedora 22+ versions]

Cómo utilizar el optimizador de imágenes Jpegoptim

La sintaxis de jpegoptm es:

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

Ahora comprimamos el siguiente tecmint.jpeg imagen, pero antes de optimizar la imagen, primero averigüe el tamaño real de la imagen usando el comando du como se muestra.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Aquí, el tamaño real del archivo es 6,2 MB , ahora comprima este archivo ejecutando:

$ jpegoptim tecmint.jpeg 

Abra la imagen comprimida en cualquier aplicación de visualización de imágenes, no encontrará grandes diferencias. La fuente y las imágenes comprimidas tendrán la misma calidad.

El comando anterior optimiza las imágenes al tamaño máximo posible. Sin embargo, puede comprimir la imagen dada a un tamaño específico, pero deshabilita la optimización sin pérdidas.

Por ejemplo, comprimamos arriba de la imagen desde 5.6MB a alrededor de 250k .

$ jpegoptim --size=250k tecmint.jpeg

Optimización y compresión de imágenes JPEG por lotes

Puede preguntar cómo comprimir las imágenes en todo el directorio, eso tampoco es difícil. Ve al directorio donde tienes las imágenes.

[email protected] ~ $ cd img/
[email protected] ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

Y luego ejecute el siguiente comando para comprimir todas las imágenes a la vez.

[email protected] ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

También puede comprimir varias imágenes seleccionadas a la vez:

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

Para más detalles sobre jpegoptim herramienta, echa un vistazo a las páginas de manual.

$ man jpegoptim 

Comprimir u optimizar imágenes PNG desde la línea de comandos

OptiPNG es una herramienta de línea de comandos utilizada para optimizar y comprimir archivos PNG (gráficos de red portátiles) sin perder su calidad original.

La instalación y uso de OptiPNG es muy similar a jpegoptim .

Instalar OptiPNG en Linux

Para instalar OptiPNG en sus sistemas Linux, ejecute el siguiente comando desde su terminal.

Sobre Debian y sus derivados
# apt-get install optipng
or
$ sudo apt-get install optipng
En sistemas basados ​​en RedHat
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

Nota :Debes tener repositorio epel habilitado en su RHEL/CentOS sistemas basados ​​en instalar optipng programa.

Cómo utilizar el optimizador de imágenes OptiPNG

La sintaxis general de optipng es:

$ optipng filename.png
$ optipng [options] filename.png

Comprimamos el tecmint.png imagen, pero antes de optimizar, primero verifique el tamaño real de la imagen como se muestra:

[email protected] ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Aquí, el tamaño real del archivo de la imagen de arriba es 350K , ahora comprima este archivo ejecutando:

[email protected] ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

Como puede ver en el resultado anterior, el tamaño de tecmint.png el archivo se ha reducido hasta un 30,39 % . Ahora verifique el tamaño del archivo nuevamente usando:

[email protected] ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Abra la imagen comprimida en cualquier aplicación de visualización de imágenes, no encontrará grandes diferencias entre los archivos originales y comprimidos. La fuente y las imágenes comprimidas tendrán la misma calidad.

Optimización y compresión de imágenes PNG por lotes

Para comprimir lotes o múltiples imágenes PNG a la vez, simplemente vaya al directorio donde residen todas las imágenes y ejecute el siguiente comando para comprimir.

[email protected] ~ $ cd img/
[email protected] ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

Para más detalles sobre optipng consulte las páginas del manual.

$ man optipng

Conclusión

Si es un webmaster y quiere mostrar imágenes optimizadas en su sitio web o blog, estas herramientas pueden ser muy útiles. Estas herramientas no solo ahorran espacio en el disco, sino que también reducen el ancho de banda al cargar las imágenes.

Si conoce alguna otra forma mejor de lograr lo mismo, háganoslo saber a través de comentarios y no olvide compartir este artículo en sus redes sociales y apoyarnos.


Linux
  1. Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

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

  3. Cómo analizar e imprimir bastante JSON con las herramientas de línea de comandos de Linux

  4. Cómo comprimir y descomprimir archivos en Linux

  5. ¿Cómo comprimir y extraer archivos usando el comando tar en Linux?

Cómo convertir por lotes imágenes PNG a formato JPG en Linux

Cómo recortar y cambiar el tamaño de las imágenes en Linux usando Gwenview

Cómo comprimir archivos de imagen PNG en Linux

Cómo convertir PDF a imágenes PNG y viceversa en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Cómo instalar y usar Pigz para comprimir archivos más rápido en Linux