python - 在 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 的 images2gif,因为它在 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)

https://stackoverflow.com/questions/753190/

相关文章:

python - 如何在 Django 中的 CharField 上添加占位符?

python - 从 pandas.DataFrame 中选择复杂的标准

linux - 我可以用/etc/hosts 映射一个主机名*和*一个端口吗?

linux - 如何就地对文件进行排序?

linux - 确定 yum 软件包安装到的路径

linux - 如何在bash中创建仅包含十六进制字符而不包含空格的文件的十六进制转储?

linux - 如何在 Linux 上获得整体 CPU 使用率(例如 57%)

python - 如何从 python 代码调用 shell 脚本?

python - `ValueError: cannot reindex from a duplic

python - 使用 Python 向 RESTful API 发出请求