make imsave imageio python-imaging-library

python imaging library - imsave - Error en images2gif.py con GlobalPalette



imageio imsave (4)

Obteniendo un error al intentar convertir la secuencia de jpgs a gifs. Parece que no puedo imaginar cómo agregar una paleta, o si ese es el problema real. Pude obtener gifs para cargar usando las matrices numpy en la images2gif.py principal images2gif.py .

import PIL from PIL import Image import StringIO import images2gif images = [] for frame in animation1.frames: img_data = s3manager.get_file_as_string(frame.s3_filename) image = Image.open(StringIO.StringIO(img_data)) images.append(image) images2gif.writeGif(''lala3.gif'', images, duration=0.5, dither=0)

Con esto me sale el siguiente error:

"images2gif.py", line 436, in writeGifToFile fp.write(globalPalette) TypeError: must be string or buffer, not None

No estoy seguro de cómo especificar una paleta para estos jpgs. La documentación no está clara para mí, y ni siquiera estoy seguro de si ese es el problema. ¿ayuda?



En images2gif.py cambiar la línea 200:

for im in images: palettes.append( getheader(im)[1] )

a

for im in images: palettes.append(im.palette.getdata()[1])


Instalé PIL después de Pillow y comenzó a funcionar. Parece que ambas bibliotecas son necesarias por alguna razón. Aquí es cómo reinstalar ambos:

pip uninstall PIL pip uninstall Pillow pip install Pillow pip install PIL


images2gif.py usa la función getheader de PIL.GifImagePlugin para obtener las paletas.

Por alguna razón, no funciona con la imagen que lees. Tal vez el script no funcione realmente si las imágenes de origen no están en modo ''P''.