【发布时间】:2013-08-21 22:04:53
【问题描述】:
我正在尝试使用 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(最新版本)的标准安装。
【问题讨论】:
-
请给出Python、PIL/Pillow、bumpy、visvis的版本。
-
@abarnert 更新了 OP 中的信息。
-
太好了,谢谢。这意味着我的猜测是正确的。
-
顺便说一句,不错。看起来 visvis 的人遇到了这个错误,没有弄清楚,只是没有尝试用 Pillow 运行他们的代码,因为......希望 2.1.0 修复会刺激他们重新使用 Pillow 进行测试,AFAIK是唯一阻止他们完全兼容 Python-3.x 的东西……
标签: python image python-imaging-library gif