
Библиотека Pillow в Python предоставляет удобные инструменты для объединения нескольких изображений в одно, открывая широкие возможности для создания креативных композиций. Рассмотрим различные методы объединения изображений в библиотеке Pillow с подробными примерами.
Метод paste() в библиотеке Pillow используется для наложения одного изображения на другое. Этот метод позволяет объединять изображения, применять маски прозрачности и управлять их позиционированием.
Синтаксис:
Image.paste(im, box=None, mask=None)Параметры:
im: Изображение, которое вы хотите наложить.box (опционально): Кортеж, представляющий область, куда будет вставлено изображение. Формат: (left, top, right, bottom).mask (опционально): Маска прозрачности. Если указана, она будет использована для определения областей, которые будут видимы, и областей, которые будут прозрачными.Примечания:
box позволяет указать область, в которую будет вставлено изображение. Если box не указан, изображение вставляется в верхний левый угол.mask используется для определения областей прозрачности. Если маска не указана, используется весь альфа-канал второго изображения.from PIL import Image
# Открываем изображения
image_path1 = "example.jpg"
image_path2 = "example_2.jpg"
image1 = Image.open(image_path1)
image2 = Image.open(image_path2)
# Горизонтально объединяем изображения
result_image = Image.new("RGB", (image1.width + image2.width, image1.height))
result_image.paste(image1, (0, 0))
result_image.paste(image2, (image1.width, 0))
result_image.show()У нас было 2 изображения:


Результат:

from PIL import Image
# Открываем изображения
image_path1 = "example.jpg"
image_path2 = "example_2.jpg"
image1 = Image.open(image_path1)
image2 = Image.open(image_path2)
# Вертикально объединяем изображения
result_image = Image.new("RGB", (image1.width, image1.height + image2.height))
result_image.paste(image1, (0, 0))
result_image.paste(image2, (0, image1.height))
result_image.show()Результат:

from PIL import Image
# Открываем изображения
image_path1 = "example.jpg"
image_path2 = "example_2.jpg"
image1 = Image.open(image_path1)
image2 = Image.open(image_path2)
image1.paste(image2)
image1.show()Результат:

Мы видим только второе изображение, которые просто перекрыло первое, давайте исправим это.
from PIL import Image
# Открываем изображения
image_path1 = "example.jpg"
image_path2 = "example_2.jpg"
image1 = Image.open(image_path1)
image2 = Image.open(image_path2)
image1.paste(image2, box=(image1.width//2, image1.height//2))
image1.show()Здесь с помощью параметра box мы определили область наложения в виде кортежа (координаты верхнего левого угла).
Результат:

Объединение изображений в библиотеке Pillow предоставляет широкие возможности для создания разнообразных композиций. Экспериментируйте с различными методами объединения, наложения, и комбинирования цветовых каналов, чтобы достичь желаемых эффектов. Важно также учитывать возможности применения фильтров и эффектов для придания уникального стиля вашим изображениям.
Содержание: