Łączenie zdjęć w Pythonie

Ten przewodnik obejmuje szczegóły dotyczące scalania photos w Pythonie. Wyjaśnia ustawienia środowiska, przepływ programu krok po kroku i działający przykładowy kod do tworzenia łączenia zdjęć w Pythonie. Ponadto nie są potrzebne żadne dodatkowe aplikacje do przetwarzania obrazu, aby osadzić tę funkcję w swoich programach.

Kroki łączenia zdjęć w Pythonie

  1. Przygotuj system, konfigurując Aspose.Imaging for Python w celu scalenia zdjęć
  2. Utwórz listę zdjęć źródłowych i oblicz wymiary scalonego zdjęcia
  3. Połącz załadowane obrazy i zdefiniuj źródło wyjściowe
  4. Ustaw niestandardowe właściwości klasy JpegOptions
  5. Eksportuj scalony obraz wyjściowy z obiektem klasy JpegImage

Powyższe kroki podsumowują proces łączenia zdjęć w Pythonie. Najpierw musisz wymienić różne obrazy, aby połączyć je w jeden obraz. Następnie oblicz nowy wymiar obrazu i zawartość przed renderowaniem obrazu wyjściowego podczas eksportowania go na dysk lub strumień w oparciu o projekt aplikacji.

Kod do tworzenia łącznika obrazów w Pythonie

import aspose.imaging
import aspose.pycore as aspycore
from aspose.imaging import Image, Rectangle, RasterImage
from aspose.imaging.imageoptions import JpegOptions
from aspose.imaging.sources import StreamSource
from aspose.imaging.fileformats.jpeg import JpegImage
from aspose.imaging.extensions import StreamExtensions
import os
import functools
data_dir = "C://SampleFiles//"
license = aspose.imaging.License()
license.set_license(data_dir + "License.lic")
delete_output = 'SAVE_OUTPUT' not in os.environ
#data_dir = templates_folder
image_paths = [os.path.join(data_dir, "grayscaled.jpg"), os.path.join(data_dir, "grayscaled.jpg")]
output_path = os.path.join(data_dir, "mergedresult.jpg")
temp_file_path = os.path.join(data_dir, "tempmerge.jpg")
# Getting resulting image size.
image_sizes = []
for image_path in image_paths:
with Image.load(image_path) as image:
image_sizes.append(image.size)
new_width = 0
new_height = 0
for size in image_sizes:
new_height += size.height
new_width = max(new_width, size.width)
# Combining images into new one.
with StreamExtensions.create_memory_stream() as memory_stream:
output_stream_source = StreamSource(memory_stream)
with JpegOptions() as options:
options.source = output_stream_source
options.quality = 100
with aspycore.as_of(Image.create(options, new_width, new_height), JpegImage) as new_image:
stitched_height = 0
for image_path in image_paths:
with aspycore.as_of(Image.load(image_path), RasterImage) as image:
bounds = Rectangle(0, stitched_height, image.width, image.height)
new_image.save_argb_32_pixels(bounds, image.load_argb_32_pixels(image.bounds))
stitched_height += image.height
new_image.save(output_path)

Ten fragment kodu jest wystarczający, aby utworzyć podstawowy scalacz obrazów w Pythonie. Działa on z różnymi metodami udostępnianymi przez klasę JpegImage, aby wygenerować zdjęcie wyjściowe i odczytać wymiary obrazów wejściowych. Następnie definiuje prostokąt i renderuje wygenerowane zdjęcie, wywołując metodę Save. Ponadto możesz dostosować wygenerowany obraz do swoich potrzeb, ustawiając współczynnik skali, profil kolorów RGB, tryb zaokrąglania próbek itp.

W tym artykule nauczysz się scalania obrazów w Pythonie. Jeśli chcesz nauczyć się przycinania obrazów, zapoznaj się z artykułem na przycinanie obrazu w Pythonie.

 Polski