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.