Estoy tratando de combinar horizontalmente algunas imágenes JPEG en Python.
Problema
Tengo 3 imágenes - cada una mide 148 x 95 - ver adjunto. Acabo de hacer 3 copias de la misma imagen, por eso son iguales.
Mi intento
Estoy tratando de unirlos horizontalmente usando el siguiente código:
import sys
from PIL import Image
list_im = ['Test1.jpg','Test2.jpg','Test3.jpg']
new_im = Image.new('RGB', (444,95)) #creates a new empty image, RGB mode, and size 444 by 95
for elem in list_im:
for i in xrange(0,444,95):
im=Image.open(elem)
new_im.paste(im, (i,0))
new_im.save('test.jpg')
Sin embargo, esto produce la salida adjunta como test.jpg
.
Pregunta
¿Hay alguna forma de concatenar horizontalmente estas imágenes de modo que las subimágenes en test.jpg no muestren una imagen parcial adicional?
Información Adicional
Estoy buscando una forma de concatenar horizontalmente n imágenes. Me gustaría usar este código en general, así que preferiría:
- no codificar las dimensiones de la imagen, si es posible
- especificar dimensiones en una línea para que se puedan cambiar fácilmente
for i in xrange(...)
en su código? ¿No deberíapaste
ocuparse de los tres archivos de imagen que especifica?