处理动画图像文件
在本教程中,你将学习如何:
- 使用
cv::imreadanimation从动画图像文件中加载帧。 - 了解
cv::Animation结构的结构与参数。 - 显示动画中的单个帧。
- 使用
cv::imwriteanimation将cv::Animation写入文件。
初始化动画结构
Section titled “初始化动画结构”初始化一个 cv::Animation 结构,用于保存来自动画图像文件的帧。
使用 cv::imreadanimation 从指定文件中加载帧。这里,我们从一幅动画 WebP 图像中加载所有帧。
animation.frames 向量中的每一帧都可以作为独立图像来显示。这个循环遍历每一帧,将其显示在窗口中,并通过短暂延时来模拟动画效果。
注意:
cv::Animation中的帧持续时间以毫秒为单位表示。 在使用cv::waitKey手动显示帧时,请务必使用对应的持续时间值,以保持原始的动画节奏。
cv::imreadanimation 和 cv::imwriteanimation 函数通过将帧加载到 cv::Animation 结构中并支持逐帧处理,让处理动画图像文件变得十分简单。
借助这些函数,你可以加载、处理并保存 GIF、AVIF、APNG 和 WebP 等动画图像文件中的帧。