动画GIF - 避免重复存储两次帧

时间:2013-03-26 15:20:50

标签: image matlab animation image-processing gif

我有一个像这样的动画gif,动画的循环特性导致一些帧在动画的一个完整循环中重复两次。

enter image description here (来自here

我目前将每个帧分别存储在gif中。是否可以只存储每个重复的帧一次,以有效地将所需的存储空间减半?

我正在使用movie2gif converter在MATLAB中创建我的gif,但是对gif创建的替代方法或后处理工具感到满意。

修改

帧重复的含义最好在此示例图像的上下文中进行说明。显示的框架就像左手球离开一排球一样。几帧后重复这个确切的框架,此时左手球现在正在返回以再次击中一排球。由于帧的排序,目前需要存储它 框架两次。

澄清我在寻找的东西:我想要一种保存gif(或后处理gif)的方法,这样我就可以保持完整的动画序列(例如30帧),但重复的帧是软的 - 链接回第一次显示它们,因此无需存储它们两次。

1 个答案:

答案 0 :(得分:1)

从movie2gif及其输入论据的描述来看,它似乎不可能。此外,在阅读GIF如何工作(和LZW)压缩时,我可以想象甚至不可能减小像这样的gif的大小。

如果您只想保存最低要求的图像,并且不介意在可以看到它之前构建图像,那么您只需存储每个图像和索引向量。

在你的情况下,有可能找到一种方法来保存一半的图像,然后在一个循环中播放它:向前 - 向后 - 但我不知道这是否可能。< / p>