我经营一个网站,我们有很多人在开发页面。尽管有多次培训课程,但他们中的许多人都会将未经优化的图片上传到网站。我们希望使用imagemagick运行批量压缩,捕获这些图像并调整它们的大小。我们正在考虑使用imagemagick,因为这是我们服务器上安装的内容。但是,我们想知道我们是否可以在相同的图像上多次运行该批次,或者是否每次都会导致降级,最终图像会受到影响。有没有一种简单的方法可以防止这种情况发生?
答案 0 :(得分:4)
问题是关于发电损失,使用相同的“质量”重复压缩。答案取决于是否启用了色度子采样。 默认情况下,色度子采样在ImageMagick中用于小于90的质量值。
因此,对于90或更高的质量值(或者如果使用-sampling-factor选项来防止子采样),第一次或第二次通过后应该几乎没有生成损失。
我建议OP使用质量= 90来进行项目。
这是一篇题为Why JPEG is like a photocopier的文章,解释了代数损失和色度子采样的影响。
编辑:我做了一些实验,他们并没有完全证实我的断言。 一些图像(主要是照片)在2或3次迭代中非常快速地收敛,而其他图像(图纸)在最坏的情况下需要多达30次迭代。子采样需要更长时间才能收敛,质量90比质量85稍长一些。这里有各种64x64像素图像,全部放大4倍以使单个像素可见: