在Python中以编程方式生成视频或动画GIF?

问题:

我有一系列的图像,我想要创建一个视频。理想情况下,我可以为每个帧指定帧持续时间,但固定帧速率也是很好的。我在wxPython中这样做,所以我可以渲染到wxDC,或者我可以将图像保存到像PNG这样的文件中。是否有一个Python库可以让我创建一个视频(AVI,MPG等)或者从这些帧创建动画GIF?
编辑:我已经尝试了PIL,它似乎不起作用。有人可以用这个结论纠正我的意见或者建议另一个工具包?这个链接似乎是对PIL的结论:http://www.somethinkodd.com/oddthinking/2005/12/06/python-imaging-library-pil-and-animated-gifs/

回答:

我建议不要从visvis使用image2gif,因为它与PIL / Pillow有问题,并没有被主动维护(我应该知道,因为我是作者)。
相反,请使用imageio,这是为了解决这个问题而开发的,而且是打算留下来的。
快速肮脏的解决方案

import imageio
images = []
for filename in filenames:
    images.append(imageio.imread(filename))
imageio.mimsave('/path/to/movie.gif', images)

对于较长的电影,请使用流媒体方式:

import imageio
with imageio.get_writer('/path/to/movie.gif', mode='I') as writer:
    for filename in filenames:
        image = imageio.imread(filename)
        writer.append_data(image)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Programmatically generate video or animated GIF in Python?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 1 = 1