"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo concatenar varias imágenes horizontalmente en Python usando Pillow?

¿Cómo concatenar varias imágenes horizontalmente en Python usando Pillow?

Publicado el 2024-11-06
Navegar:223

How to Concatenate Multiple Images Horizontally in Python Using Pillow?

Concatenar imágenes horizontalmente con Python

Combinar varias imágenes horizontalmente es una tarea común en el procesamiento de imágenes. Python ofrece herramientas poderosas para lograr esto usando la biblioteca Pillow.

Descripción del problema

Considere tres imágenes JPEG cuadradas de dimensiones 148 x 95. El objetivo es concatenarlas horizontalmente. imágenes evitando imágenes parciales en la salida resultante.

Solución sugerida

El siguiente fragmento de código soluciona el 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 las imágenes de entrada, determinando sus dimensiones. Crea una nueva imagen con el ancho total y el alto máximo de todas las imágenes. Cada imagen de entrada se pega horizontalmente y sus posiciones se actualizan en consecuencia.

Consideraciones adicionales

  • El código evita codificar las dimensiones de la imagen calculándolas dinámicamente.
  • Al especificar las dimensiones en una línea, se pueden ajustar fácilmente.
  • El ejemplo proporcionado concatena tres imágenes, pero el código se puede usar para cualquier número de imágenes.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3