如何从保留帧尺寸的GIF文件中提取帧

Joe*_*zas 47 imagemagick gif

我有以下GIF图像文件:

原始的GIF图像

我想使用这个imagemagick命令提取其帧(使用PGM输出格式):

convert brocoli.gif out%05d.pgm
Run Code Online (Sandbox Code Playgroud)

但每个框架都有不同的尺寸.

如何在保留原始gif文件大小的同时提取其框架?

phr*_*ead 85

使用-coalesce选项:

convert -coalesce brocoli.gif out%05d.pgm

  • 谢谢!我很遗憾在发布后差不多2年接受这个回答,再次感谢你! (4认同)
  • 这很棒!对于那些喜欢我的人来说,对这个选项感到困惑,文档说"根据其显示的元数据覆盖图像序列中的每个图像,以在动画序列中的每个点重现动画的外观". (2认同)
  • 我会在死灵术方面给你一个机会,joe..@gipi 我不是 gif 或 imagemagick 专家,但我对 GIF 的理解是,它是一系列相当独立的图像,其中序列中的每个图像都可以是一个不同的尺寸。它们彼此层叠以产生整体动画。这提供了一些压缩,因为图像中不改变的部分不包含在每帧中。根据您引用的文档,“-coalesce”在导出之前对整个帧执行分层。 (2认同)