«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как объединить несколько изображений по горизонтали в Python с помощью подушки?

Как объединить несколько изображений по горизонтали в Python с помощью подушки?

Опубликовано 6 ноября 2024 г.
Просматривать:720

How to Concatenate Multiple Images Horizontally in Python Using Pillow?

Горизонтальное объединение изображений с помощью Python

Горизонтальное объединение нескольких изображений — обычная задача при обработке изображений. Python предлагает мощные инструменты для достижения этой цели с помощью библиотеки Pillow.

Описание проблемы

Рассмотрим три квадратных изображения JPEG размером 148 x 95. Цель состоит в том, чтобы объединить их по горизонтали. изображений, избегая при этом частичных изображений в результирующем выводе.

Предлагаемое решение

Следующий фрагмент кода решает проблему:

import sys
from PIL import Image

# Get the images
images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]

# Determine the total width and height
widths, heights = zip(*(i.size for i in images))
total_width = sum(widths)
max_height = max(heights)

# Create a new, empty image
new_im = Image.new('RGB', (total_width, max_height))

# Paste the images horizontally
x_offset = 0
for im in images:
    new_im.paste(im, (x_offset, 0))
    x_offset  = im.size[0]

# Save the output image
new_im.save('test.jpg')

Этот код перебирает входные изображения, определяя их размеры. Он создает новое изображение с общей шириной и максимальной высотой всех изображений. Каждое входное изображение вставляется горизонтально, и их позиции соответствующим образом обновляются.

Дополнительные рекомендации

  • В коде избегают жесткого кодирования размеров изображения за счет их динамического расчета.
  • Указав размеры в одной строке, их можно легко настроить.
  • Приведенный пример объединяет три изображения, но код можно использовать для любого количества изображений.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3