making gif from images using imageio in python

痞子三分冷 提交于 2019-12-20 14:16:00

问题


I have tried reading a lot of examples online and found imageio is the perfect package for it. Also found examples written in here.

I have just followed the example as shown and tried the following

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()

and another example.

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

both of these do not work. And basically i only see the first frame from the gif and a blink and finish. The duration is set 0.5secs, so it should work fine. I might have been missing out something here.


回答1:


This works for me:

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)



回答2:


in case anyone needs it, for python 3.6.8, it needed fps

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


来源:https://stackoverflow.com/questions/41228209/making-gif-from-images-using-imageio-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!