我正在寻找的应用程序中的功能是比较动画gif的帧,确定哪些连续的帧足够相似,以至于不明显地将其删除并合并它们的显示持续时间。
例如,第2帧到第5帧是相同的,每个帧显示0.02秒。删除第3、4、5帧,并显示第2帧,总计0.08秒。
哪个应用程序或图像处理工具包能够自动执行此操作?我不是在寻找解决方案,这意味着我必须自己比较框架(例如为此使用Photoshop或Gimp)。
#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就是这样做的。上传图像,然后在“方法”选择框中选择“删除重复的帧”。
评论
是否可以使用任何操作系统(Linux,Android等)?我是使用ImageMagick在Windows上完成的,但我想其他操作系统的答案也将很有用。