我正在尝试使用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。
答案 0 :(得分:5)
这看起来像Pillow bug#224。
据我所知,该错误是在2.0.0中引入的,并在2.1.0(checked in 21 May 2013)中修复。所以,你应该能够通过升级Pillow来修复它。
(如果您使用的是非常旧版本的numpy,或Python 3.x或2.0之前的Pillow(或PIL),这不是您的错误。但这些都不适用于您。)