Tengo 4 directorios con imágenes para una animación. Me gustaría tomar el conjunto de imágenes y generar una sola imagen con las 4 imágenes dispuestas en una cuadrícula de 2x2 para cada fotograma de la animación.Biblioteca de imágenes de Python: ¿cómo combinar 4 imágenes en una cuadrícula de 2 x 2?
Mi código hasta ahora es:
import Image
fluid64 = "Fluid64_half_size/00"
fluid128 = "Fluid128_half_size/00"
fluid512 = "Fluid512_half_size/00"
fluid1024 = "Fluid1024_half_size/00"
out_image = "Fluid_all/00"
for pic in range(1, 26):
blank_image = Image.open("blank.jpg")
if pic < 10:
image_num = "0"+str(pic)
else:
image_num = str(pic)
image64 = Image.open(fluid64+image_num+".jpg")
image128 = Image.open(fluid128+image_num+".jpg")
image512 = Image.open(fluid512+image_num+".jpg")
image1024 = Image.open(fluid1024+image_num+".jpg")
out = out_image + image_num + ".jpg"
blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (0,300)).paste(fluid1024, (400,300)).save(out)
No sé por qué no está funcionando. Obtengo el error:
Traceback (most recent call last):
File "C:\Users\Casey\Desktop\Image_composite.py", line 24, in <module>
blank_image.paste(image64, (0,0)).paste(fluid128, (400,0)).paste(fluid512, (
ste(fluid1024, (400,300)).save(out)
AttributeError: 'NoneType' object has no attribute 'paste'
shell returned 1
Cualquier ayuda sería increíble. ¡Gracias!
Esto no es lo que se " mal "en el código, aunque también se beneficiaría de ello. – jsbueno
Sí, noté lo que estaba realmente "mal" después. Miré el rastro y parecía que la imagen en blanco no se había definido correctamente. Así que solo hice suposiciones. Es bastante tarde aquí después de todo :) –
Mi caso de uso fue crear una nueva imagen con un tamaño dinámico, concatenando segmentos juntos en la nueva imagen en blanco, por lo que fue muy útil. +1 –