En este artículo, hablamos sobre las diferentes formas de reducir el tamaño de archivo de las imágenes en Linux. Con el aumento del enfoque en la calidad de las imágenes, el tamaño de los archivos de imagen ha aumentado enormemente. Existe una necesidad constante de reducir el tamaño de archivo de imágenes tan grandes, por lo tanto, le traemos un artículo que trata sobre dicha tarea.
Profundicemos rápidamente en los procesos de reducción del tamaño del archivo de imagen.
1. Uso del comando convert para reducir el tamaño de archivo de las imágenes en Linux
Antes de pasar a la aplicación de este comando, asegurémonos de que esté presente en el sistema.
El convert
El comando viene bajo ImageMagick
paquete. Los usuarios de Debian/Ubuntu pueden instalar ImageMagick
ejecutando:
sudo apt install imagemagick
Una vez que el paquete está instalado, podemos ejecutar man convert
para echar un vistazo a la variedad de operaciones que admite el comando.
Reducción por la calidad de la imagen
La forma más sencilla de reducir el tamaño de la imagen es degradando la calidad de la imagen.
convert <INPUT_FILE> -quality 10% <OUTPUT_FILE>
Hay una reducción significativa en la calidad de la imagen usando convert
dominio. En caso de que queramos examinar el nuevo tamaño del archivo, podemos hacerlo:
du -h jd_logo*
El comando du proporciona la cantidad de disco utilizada por los archivos en Linux. En el comando anterior, mostramos la cantidad de espacio ocupado por todas las versiones de “jd_logo” .
Reducir el tamaño de archivo de las imágenes en Linux por píxeles
El tamaño del archivo de la imagen se puede reducir si reducimos la cantidad de píxeles que contiene. Para este propósito, debemos proporcionar el nuevo ancho y alto.
convert <INPUT_FILE> -resize 200x200 <OUTPUT_FILE>
La merma en la calidad de la imagen reducida se puede observar cuando estiramos sus dimensiones.
La relación de aspecto de la imagen se restaura aunque las dimensiones proporcionadas en el comando violaron la relación de aspecto original. La idea detrás de la conversión es que la imagen reducida debe caber dentro de las dimensiones especificadas.
Para reducir la imagen a las dimensiones exactas, y despreciando la relación de aspecto, '!'
debe usarse después de resize
parámetro.
convert <INPUT_FILE> -resize 200x200! <OUTPUT_FILE>
Convertir el formato de imagen
Algunos sitios web solo admiten extensiones de archivo específicas, por lo tanto, convert
El comando proporciona la posibilidad de convertir el formato de imagen.
convert <INPUT_FILE> <OUTPUT_FILE>
La reducción de la calidad es del 92 % si no se proporciona ningún parámetro. En el fragmento anterior, convertimos un archivo de imagen '.png' en un archivo '.jpg'.
El convert
El comando tiene cientos de aplicaciones como rotar una imagen, aplicar efectos o dibujar cosas en una imagen. Podemos referir las páginas del manual por man convert
para dominar la herramienta de formato de imagen.
Para convertir varios archivos, necesitamos un script bash que ejecute un bucle para todas las imágenes. Existe una alternativa para procesar varios archivos de imagen, que es mogrify
que viene dentro de ImageMagick
paquete.
2. Usando el comando mogrify
mogrify [OPTIONS] [FILE_LIST]
La principal diferencia entre convert
y mogrify
el comando es que mogrify
El comando aplica las operaciones en el archivo de imagen original, mientras que convert
no lo hace.
Además, mogrify
El comando admite expresiones para poner en cola en varios archivos. Por ejemplo:
mogrify -quality 10 *.jpg
Las aplicaciones para convert
y mogrify
son idénticos ya que se derivan del mismo paquete.
3. Uso de Pngcrush para archivos PNG
pngcrush
es un optimizador de archivos PNG (Portable Network Graphics). Reduce el tamaño de archivo de la imagen pasándola a través de varios métodos de compresión y filtros.
Los usuarios de Debian/Ubuntu pueden ejecutar el siguiente comando para la instalación.
sudo apt get install pngcrush
Los usuarios de otras distribuciones de Linux pueden instalarlo usando sus comandos de instalación estándar seguidos de pngcrush
.
Una vez finalizada la instalación, podemos reducir el tamaño del archivo PNG ejecutando:
pngcrush -brute <INPUT_FILE> <OUTPUT_FILE>
El '-brute'
La opción lleva el archivo a través de 114 métodos de filtro/compresión. El proceso extendido consume unos segundos. En lugar de aplicar el enfoque de fuerza bruta, los usuarios pueden seleccionar filtros, niveles y estrategias para la optimización.
Los tipos de filtros y otras propiedades se pueden aprender a través de las páginas del manual:man pngcrush
.
4. Uso de Jpegoptim para archivos JPG
jpegoptim
es un compresor de archivos JPG (Joint Photographic Group). Este comando admite el porcentaje y el tamaño del archivo de destino como parámetro para reducir el tamaño de la imagen.
La instalación es bastante simple.
sudo apt install jpegoptim
Una vez terminada la instalación, podemos ejecutar:
jpegoptim --size=<TARGET_SIZE> <INPUT_FILE>
El jpegoptim
La utilidad sobrescribe la imagen original, por lo que se recomienda conservar un archivo de imagen de copia de seguridad. La mejor característica de esta herramienta es que acepta el tamaño de archivo de destino, lo que puede ser un salvavidas para cargar imágenes de tamaños específicos.
En la figura anterior, comprimimos un archivo de 260 KB en una imagen de 20 KB.
La calidad de la imagen está intacta, aunque hay una reducción masiva del 90% en el tamaño. El comando también admite la compresión en base a porcentajes.
Podemos obtener más información sobre el comando en las páginas del manual a través de:man jpegoptim
.
5. Uso de la herramienta GUI de Trimage
El trimage
GUI Tool es un software básico de arrastrar y soltar. Los archivos agregados se comprimen automáticamente al tamaño posible del archivo sin pérdidas.
La instalación es similar a los métodos anteriores.
sudo apt install trimage
Una vez completada la instalación, podemos acceder a ella buscando “trimage” en el sistema La ventana de recorte se parece a la siguiente imagen:
Las columnas admitidas son:
- Nombre del archivo
- Tamaño de la imagen original
- Tamaño de la imagen convertida
- Porcentaje de compresión
La herramienta sobrescribe la imagen original. La compresión es mínima debido al hecho de que la compresión no tiene pérdidas.
GIMP (Programa de manipulación de imágenes GNU) es una buena alternativa para reducir el tamaño de una imagen basada en GUI, pero definitivamente es una exageración.
Conclusión
La forma más simple y efectiva de reducir el tamaño de archivo de imágenes en Linux es usar los comandos proporcionados por ImageMagick
paquete.
Esperamos que el artículo haya sido interesante e informativo. Gracias por leer.
Referencias
Sitio web oficial de Pngcrush
Sitio web oficial de Trimage