"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como concatenar múltiplas imagens horizontalmente em Python usando Pillow?

Como concatenar múltiplas imagens horizontalmente em Python usando Pillow?

Publicado em 2024-11-06
Navegar:594

How to Concatenate Multiple Images Horizontally in Python Using Pillow?

Concatenando imagens horizontalmente com Python

Combinar várias imagens horizontalmente é uma tarefa comum no processamento de imagens. Python oferece ferramentas poderosas para conseguir isso usando a biblioteca Pillow.

Descrição do problema

Considere três imagens JPEG quadradas com dimensões de 148 x 95. O objetivo é concatená-las horizontalmente. imagens, evitando quaisquer imagens parciais na saída resultante.

Solução sugerida

O seguinte snippet de código resolve o problema:

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')

Este código itera sobre as imagens de entrada, determinando suas dimensões. Cria uma nova imagem com a largura total e a altura máxima de todas as imagens. Cada imagem de entrada é colada horizontalmente e suas posições são atualizadas de acordo.

Considerações adicionais

  • O código evita dimensões de imagem codificadas, calculando-as dinamicamente.
  • Ao especificar as dimensões em uma linha, elas podem ser facilmente ajustadas.
  • O exemplo fornecido concatena três imagens, mas o código pode ser usado para qualquer número de imagens.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3