我一直在寻找各种gif优化器和转换器,但找不到适合我的方法。

我正在寻找的应用程序中的功能是比较动画gif的帧,确定哪些连续的帧足够相似,以至于不明显地将其删除并合并它们的显示持续时间。

例如,第2帧到第5帧是相同的,每个帧显示0.02秒。删除第3、4、5帧,并显示第2帧,总计0.08秒。

哪个应用程序或图像处理工具包能够自动执行此操作?我不是在寻找解决方案,这意味着我必须自己比较框架(例如为此使用Photoshop或Gimp)。

评论

是否可以使用任何操作系统(Linux,Android等)?

我是使用ImageMagick在Windows上完成的,但我想其他操作系统的答案也将很有用。

#1 楼

ImageMagick是一个著名的命令行应用程序,已经存在了一段时间,它声称可以完全满足您的要求。


为了让您删除无用的重复帧从合并的动画中,提供了一种“ RemoveDups”方法。这会将动画中的每一帧与下一帧进行比较,如果第一帧相同(通过当前的模糊因子设置的颜色相似性),则删除第一帧。
为了不丢失,两个帧的定时延迟也被合并。


根据文档,这是执行此操作的命令:

  convert moving_hole_oplus.gif -coalesce -layers RemoveDups  gif:- |\
     gif_anim_montage - moving_hole_oplus_rmdups_frames.gif


#2 楼

我发现这些在线服务确实提供在线GIF压缩,包括在帧中进行重复数据删除:

https://www.iloveimg.com/compress-image
(未明确宣传此重复数据删除,但我检查了生成的GIF。)

https://compress-or-die.com/gif
(只是提供一种替代方法。它们的最大上传文件大小为16MB,这也是对我来说太低了,所以我切换到了第一个选项。)

不知道您是否正在寻找在线服务,但是对我来说,这就是我一直在寻找的解决方案。

评论


我真的非常反对使用在线服务来回答问题,因为如果您想对存储进行大量优化,而站点会限制您的速度,那该怎么办。还存在隐私问题。但是我想这个问题的其他访问者如果不关心这些问题,可能会发现它很有用。

–user1306322
19-09-22在14:09

#3 楼

GIMP

通过gimp创建gif时,学习曲线有点陡峭,但是一旦您知道了哪些可以保留,哪些可以使用滤镜-动画-优化(对于GIF)安全删除,就可以了。 ,您可以在调整大小之前先删除一些KB。当然,您可以在将“项目”导出为gif格式之前对其进行重新检查。

#4 楼

https://ezgif.com/optimize就是这样做的。

上传图像,然后在“方法”选择框中选择“删除重复的帧”。