Estou tentando combinar horizontalmente algumas imagens JPEG em Python.
Problema
Eu tenho 3 imagens - cada uma tem 148 x 95 - consulte o anexo. Acabei de fazer 3 cópias da mesma imagem - é por isso que são iguais.
Minha tentativa
Estou tentando uni-los horizontalmente usando o seguinte 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')
No entanto, isso está produzindo a saída anexada como test.jpg
.
Questão
Existe uma maneira de concatenar horizontalmente essas imagens de modo que as subimagens em test.jpg não tenham uma imagem parcial extra aparecendo?
informação adicional
Estou procurando uma maneira de concatenar n imagens horizontalmente. Eu gostaria de usar este código de maneira geral, então prefiro:
- não codificar as dimensões da imagem, se possível
- especifique as dimensões em uma linha para que possam ser facilmente alteradas
for i in xrange(...)
em seu código? Não deveriapaste
cuidar dos três arquivos de imagem que você especifica?