4

我正在尝试使用 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)

我有一个错误

    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'

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

我正在使用 Python 2.7.5、PIL 2.0.0-1、numpy 1.7.1-2,它们都是 Python(x,y) 2.7.5 和 visvis 1.8 的标准安装,这是最新版本。

4

1 回答 1

5

这看起来像Pillow bug#224

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

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

于 2013-08-20T00:45:25.897 回答