Comprimir imágenes en Python

La compresión de imágenes es un método de uso común que reduce el tamaño de archivo de las imágenes y conserva su calidad visual. Al eliminar datos redundantes o innecesarios, las técnicas de compresión de imágenes permiten cargas más rápidas, requisitos de almacenamiento reducidos y una mejor utilización del ancho de banda. Mientras procesa imágenes mediante programación, a menudo necesita reducir sus tamaños. Entonces, en este artículo, aprenderá cómo comprimir imágenes fácilmente en una aplicación de Python.

Biblioteca de compresión de imágenes de Python

Para comprimir imágenes en Python, usaremos Aspose.Imaging for Python. Es una poderosa biblioteca de procesamiento de imágenes que ofrece una variedad de funciones para procesar y manipular imágenes desde sus aplicaciones de Python. Puede descargar la biblioteca o instalarla con el siguiente comando.

> pip install aspose-imaging-python-net 

Comprimir una imagen en Python

Para comprimir una imagen, puede establecer el valor del nivel de compresión de 0 a 9. El valor 9 representa la compresión máxima y 0 es el modo de almacenamiento. Los siguientes son los pasos para comprimir una imagen PNG en Python.

  • Primero, cargue la imagen usando la clase de imagen.
  • Luego, crea un objeto de la clase PngOptions.
  • Después de eso, establezca el nivel de compresión usando la propiedad PngOptions.compressionlevel.
  • Finalmente, guarde la imagen comprimida usando el método Image.save(String, PngOptions).

El siguiente ejemplo de código muestra cómo comprimir una imagen en Python.

from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging import ColorPaletteHelper, Image
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ


def compress_png():
  	# Rutas de archivos de entrada y salida
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# Cargar imagen
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# Establecer el nivel de compresión
		obj_init.compression_level = 9
		obj_init.progressive = True
		obj_init.color_type = PngColorType.INDEXED_COLOR
		obj_init.palette = ColorPaletteHelper.get_close_image_palette(image, 1 << 5)
    
    		# Guardar imagen comprimida
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

Para comprimir imágenes de otros formatos, usaremos la respectiva clase ImageOption. Por ejemplo, para comprimir imágenes JPG, usaremos JpegOptions y para imágenes Tiff, usaremos TiffOptions clase.

Obtenga una biblioteca de compresión de imágenes gratis

Puede obtener una licencia temporal gratuita y comprimir imágenes en sus aplicaciones de Python sin ninguna limitación de evaluación.

Comprimir imágenes en línea

También hemos creado una herramienta basada en la web, compresor de imágenes gratuito, para comprimir imágenes en línea. Puede usar esta herramienta para comprimir tantas imágenes como necesite sin crear una cuenta.

Conclusión

Este artículo le proporcionó una solución eficiente para comprimir imágenes en Python. Con la ayuda de los pasos y la muestra de código, ha aprendido cómo comprimir una imagen sin esfuerzo. Además, le presentamos una herramienta gratuita de compresión de imágenes en línea, que se basa en Aspose.Imaging for Python. Puede usar la herramienta desde cualquier lugar sin crear una cuenta.

Puede explorar más sobre nuestra biblioteca de procesamiento de imágenes de Python usando documentación. Además, puede compartir sus comentarios con nosotros a través de nuestro foro.

Ver también