首页 > 解决方案 > imageio 单个帧速率

问题描述

使用这样的模块制作 gif 很容易imageio

import imageio
imageio.mimsave(path_gif_out, paths_pngs_in, fps=2)

但是是否可以更改单个帧的帧速率?例如,我希望最后一个帧速率看起来更长;例如fps=0.2

标签: pythonpython-3.xpython-imageio

解决方案


GIF-PIL 格式的文档指出,参数持续时间可用于单独设置每个帧保持在视图中的时间。

"duration : {float, list} 每帧的持续时间(以秒为单位)。要么指定一个用于所有帧的值,要么为每个帧指定一个值。请注意,在 GIF 格式中,持续时间/延迟以百分之一表示秒,这限制了持续时间的精度。”

如果不使用持续时间,则每个帧都会获得 1/fps 的持续时间,如 fps 参数描述所述:

“fps : float 每秒的帧数。如果没有给出持续时间,则每帧的持续时间设置为 1/fps。默认为 10。”

链接到 imageio 库文档: https ://imageio.readthedocs.io/en/stable/format_gif-pil.html#parameters-for-saving


推荐阅读