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.
Parameters: path/filename: FileName of required image/file/gif . format: str, The format to used to read the file, By default imageio select the appropriate for you ,based on the filename and its contents.
This works for me:
import os import imageio png_dir = '../animation/png' images = [] for file_name in sorted(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('../animation/gif/movie.gif', images)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With