使用images2gif.py创建GIF时出现Numpy错误

LWZ*_*LWZ 4 python image gif python-imaging-library

我正在尝试使用visvis包中的images2fig.py创建一个GIF文件

有了这个非常简单的代码

import glob
from PIL import Image
from visvis.vvmovie.images2gif import writeGif

images = [Image.open(image) for image in glob.glob("*.png")]
filename = "test.gif"
writeGif(filename, images, duration=0.2)
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误

    writeGif(filename, images, duration=0.2)
  File "C:\Python27\lib\site-packages\visvis\vvmovie\images2gif.py", line 570, in writeGif
    images = gifWriter.convertImagesToPIL(images, dither, nq)
  File "C:\Python27\lib\site-packages\visvis\vvmovie\images2gif.py", line 373, in convertImagesToPIL
    im = Image.fromarray(im,'RGB')
  File "C:\Python27\lib\site-packages\PIL\Image.py", line 1937, in fromarray
    obj = obj.tobytes()
AttributeError: 'numpy.ndarray' object has no attribute 'tobytes'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?我该如何解决?

我使用的是Python 2.7.5,PIL 2.0.0-1,numpy 1.7.1-2,所有都是Python(x,y)2.7.5的标准安装,以及最新版本的visvis 1.8.

aba*_*ert 5

这看起来像Pillow bug#224.

据我所知,该错误是在2.0.0中引入的,并在2.1.0中修复(2013年5月21日检查).所以,你应该能够通过升级Pillow来修复它.

(如果您使用的是非常旧版本的numpy,或Python 3.x,或者2.0之前的Pillow(或PIL),这不是您的错误.但这些都不适用于您.)