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 に答える