web-dev-qa-db-ja.com

pythonでimageioを使用して画像からgifを作成する

私はたくさんの例をオンラインで読んでみましたが、imageioがそのための完璧なパッケージであることがわかりました。 ここに書かれた例も見つかりました

私はちょうど示されているように例に従い、以下を試しました

import imageio as io
import os
file_names = sorted((fn for fn in os.listdir('.') if fn.startswith('surface')))
#making animation
with io.get_writer('surface.gif', mode='I', duration=0.5) as writer:
    for filename in file_names:
        image = io.imread(filename)
        writer.append_data(image)
writer.close()

そして別の例。

images = []
for filename in file_names:
    images.append(io.imread(filename))
io.mimsave('surface1.gif', images, duration = 0.5)

これらは両方とも機能しません。そして、基本的に私はgifの最初のフレームと瞬きを見て終了するだけです。継続時間は0.5秒に設定されているため、問題なく動作するはずです。ここで何かを逃していたのかもしれません。

11
hadi k

これは私にとってはうまくいきます:

import os
import imageio

png_dir = '../saves/png/'
images = []
for file_name in os.listdir(png_dir):
    if file_name.endswith('.png'):
        file_path = os.path.join(png_dir, file_name)
        images.append(imageio.imread(file_path))
imageio.mimsave('../saves/gif/movie.gif', images)
10
Dave Babbitt

python 3.6.8の場合、誰かがそれを必要とする場合、fpsが必要です

imageio.mimsave('/path/file.gif',images,fps=55)
6
ameet chaubal