多次运行imagemagick是否会降低图像质量?

多次运行imagemagick是否会降低图像质量?,imagemagick,Imagemagick,我经营一个网站,我们有很多人在做页面开发。尽管进行了多次培训,他们中的许多人还是将未经优化的图像上传到网站上。我们希望使用imagemagick运行批处理压缩,以捕获这些图像并调整其大小。我们正在考虑使用imagemagick,因为我们的服务器上安装了imagemagick。但是,我们想知道是否可以在同一个图像上多次运行该批处理,或者这是否每次都会导致图像质量下降,最终图像会受到影响。有没有一种简单的方法来防止这种情况发生 问题在于发电损耗,重复压缩使用相同的“质量”。答案取决于是否启用色度子采

我经营一个网站,我们有很多人在做页面开发。尽管进行了多次培训,他们中的许多人还是将未经优化的图像上传到网站上。我们希望使用imagemagick运行批处理压缩,以捕获这些图像并调整其大小。我们正在考虑使用imagemagick,因为我们的服务器上安装了imagemagick。但是,我们想知道是否可以在同一个图像上多次运行该批处理,或者这是否每次都会导致图像质量下降,最终图像会受到影响。有没有一种简单的方法来防止这种情况发生

问题在于发电损耗,重复压缩使用相同的“质量”。答案取决于是否启用色度子采样。 默认情况下,对于小于90的质量值,在ImageMagick中使用色度子采样

因此,对于90或更大的质量值(或者如果使用-sampling factor选项来防止二次采样),在第一次或两次通过后,应该几乎没有发电损失

我建议OP在项目中使用质量=90

这是一篇题为《解释发电损耗和色度亚采样的影响》的文章

编辑:我做了一些实验,但它们并没有完全证实我的断言。
一些图像(主要是照片)在2到3次迭代中非常快地聚合,而另一些图像(图形)在最坏的情况下需要多达30次迭代。子抽样的收敛时间稍长,质量90比质量85稍长。这里有各种64x64像素的图像,全部放大4倍以使单个像素可见:

问题是关于生成损失,使用相同的“质量”重复压缩。答案取决于是否启用色度子采样。 默认情况下,对于小于90的质量值,在ImageMagick中使用色度子采样

因此,对于90或更大的质量值(或者如果使用-sampling factor选项来防止二次采样),在第一次或两次通过后,应该几乎没有发电损失

我建议OP在项目中使用质量=90

这是一篇题为《解释发电损耗和色度亚采样的影响》的文章

编辑:我做了一些实验,但它们并没有完全证实我的断言。
一些图像(主要是照片)在2到3次迭代中非常快地聚合,而另一些图像(图形)在最坏的情况下需要多达30次迭代。子抽样的收敛时间稍长,质量90比质量85稍长。这里有各种64x64像素的图像,全部放大4倍以使单个像素可见:

图像的格式是什么?如果它们是PNG,则不是。如果它们是JPEG,它们可能会在第一次或第二次使用时降级,但随后会稳定下来。它们大部分是JPEG。我想把它们压缩到85%的水平。你为什么不先检查一下图像的元数据,看看质量如何。如果高于85%,则可以根据需要重新压缩。但这不如从非压缩格式开始,压缩到85%并保存为jpg。我建议你做一些测试,看看质量是否降低到你能注意到的程度。我建议您也检查一下颜色空间是什么,并使用配置文件转换为sRGB。确保任何sRGB映像都具有sRGB配置文件。这样,图像应该在不同的查看器中一致地显示。还有一个jpeg:extent函数,可以用来指定文件大小而不是质量级别。请参阅@kenja:您可以尝试jpeg存档(尝试高质量的小文件),以实现良好的压缩。这在10000个文件的测试数据集上平均减少了56%。你的图片的格式是什么?如果它们是PNG,则不是。如果它们是JPEG,它们可能会在第一次或第二次使用时降级,但随后会稳定下来。它们大部分是JPEG。我想把它们压缩到85%的水平。你为什么不先检查一下图像的元数据,看看质量如何。如果高于85%,则可以根据需要重新压缩。但这不如从非压缩格式开始,压缩到85%并保存为jpg。我建议你做一些测试,看看质量是否降低到你能注意到的程度。我建议您也检查一下颜色空间是什么,并使用配置文件转换为sRGB。确保任何sRGB映像都具有sRGB配置文件。这样,图像应该在不同的查看器中一致地显示。还有一个jpeg:extent函数,可以用来指定文件大小而不是质量级别。请参阅@kenja:您可以尝试jpeg存档(尝试高质量的小文件),以实现良好的压缩。这在10000个文件的测试数据集上平均减少了56%。谢谢这很有帮助。如果一个图像之前已经以较低的值进行了优化,比如说质量级别为50,然后以90的质量级别运行该实用程序,会发生什么情况?它真的不能向图像中添加信息,所以它只是保持原样吗?从一张旧照片扫描的女士图像的质量为50。当转换为质量85或90时,文件大小稍大,但不会太大。谢谢。这很有帮助。如果一个图像之前已经以较低的值进行了优化,比如说质量级别为50,然后以90的质量级别运行该实用程序,会发生什么情况?它真的不能向图像中添加信息,所以它只是保持原样吗?从一张旧照片扫描的女士图像的质量为50。转换为质量85或90时,文件大小稍大,但不会太大。