Kompresuj obrazy w Python

Kompresja obrazu to powszechnie stosowana metoda zmniejszania rozmiaru plików obrazów przy jednoczesnym zachowaniu ich jakości wizualnej. Usuwając nadmiarowe lub niepotrzebne dane, techniki kompresji obrazu umożliwiają szybsze przesyłanie, zmniejszają wymagania dotyczące pamięci masowej i poprawiają wykorzystanie przepustowości. Podczas programowego przetwarzania obrazów często zachodzi potrzeba zmniejszenia ich rozmiarów. Dlatego w tym artykule dowiesz się, jak łatwo kompresować obrazy w aplikacji Python.

Biblioteka kompresji obrazów Python

Aby skompresować obrazy w Python, użyjemy Aspose.Imaging for Python. Jest to potężna biblioteka do przetwarzania obrazów, oferująca szereg funkcji do przetwarzania i manipulowania obrazami z poziomu aplikacji Python. Możesz pobrać bibliotekę lub zainstalować ją za pomocą następującego polecenia.

> pip install aspose-imaging-python-net 

Kompresuj obraz w Python

Aby skompresować obraz, możesz ustawić wartość poziomu kompresji od 0 do 9. Wartość 9 oznacza maksymalną kompresję, a 0 to tryb przechowywania. Poniżej przedstawiono kroki kompresji obrazu PNG w Python.

  • Najpierw załaduj obraz za pomocą klasy Image.
  • Następnie utwórz obiekt klasy PngOptions.
  • Następnie ustaw poziom kompresji za pomocą właściwości PngOptions.compressionlevel.
  • Na koniec zapisz skompresowany obraz przy użyciu metody Image.save(String, PngOptions).

Poniższy przykładowy kod pokazuje, jak skompresować obraz w języku 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():
  	# Ścieżki plików wejściowych i wyjściowych
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# Załaduj obraz
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# Ustaw poziom kompresji
		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)
    
    		# Zapisz skompresowany obraz
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

Aby skompresować obrazy w innych formatach, użyjemy odpowiedniej klasy ImageOption. Na przykład, aby skompresować obrazy JPG, użyjemy JpegOptions, a dla obrazów Tiff użyjemy TiffOptions klasa.

Uzyskaj bezpłatną bibliotekę kompresji obrazów

Możesz uzyskać darmową tymczasową licencję i kompresować obrazy w swoich aplikacjach Python bez żadnych ograniczeń ewaluacyjnych.

Kompresuj obrazy online

Stworzyliśmy również narzędzie internetowe, darmowy kompresor obrazu, do kompresji obrazów online. Możesz użyć tego narzędzia do skompresowania dowolnej liczby obrazów bez tworzenia konta.

Wniosek

Ten artykuł dostarczył Ci wydajnego rozwiązania do kompresji obrazów w Python. Dzięki krokom i przykładowemu kodowi nauczyłeś się bez wysiłku kompresować obraz. Ponadto przedstawiliśmy bezpłatne narzędzie do kompresji obrazów online, które jest oparte na Aspose.Imaging for Python. Z narzędzia możesz korzystać z dowolnego miejsca bez zakładania konta.

Możesz dowiedzieć się więcej o naszej bibliotece przetwarzania obrazów w Python, korzystając z documentation. Możesz również podzielić się z nami swoją opinią za pośrednictwem naszego forum.

Zobacz też