Skip to content

处理动画图像文件

在本教程中,你将学习如何:

  • 使用 cv::imreadanimation 从动画图像文件中加载帧。
  • 了解 cv::Animation 结构的结构与参数。
  • 显示动画中的单个帧。
  • 使用 cv::imwriteanimation 将 cv::Animation 写入文件。
  • 可下载代码:点击 这里

  • 代码一览: 代码见下方示例

  • 可下载代码:点击 这里

  • 代码一览: 代码见下方示例

初始化一个 cv::Animation 结构,用于保存来自动画图像文件的帧。

使用 cv::imreadanimation 从指定文件中加载帧。这里,我们从一幅动画 WebP 图像中加载所有帧。

animation.frames 向量中的每一帧都可以作为独立图像来显示。这个循环遍历每一帧,将其显示在窗口中,并通过短暂延时来模拟动画效果。

注意: cv::Animation 中的帧持续时间以毫秒为单位表示。 在使用 cv::waitKey 手动显示帧时,请务必使用对应的持续时间值,以保持原始的动画节奏。

cv::imreadanimation 和 cv::imwriteanimation 函数通过将帧加载到 cv::Animation 结构中并支持逐帧处理,让处理动画图像文件变得十分简单。 借助这些函数,你可以加载、处理并保存 GIF、AVIF、APNG 和 WebP 等动画图像文件中的帧。