自动确定自适应图像压缩的最终质量

时间:2017-06-02 07:48:27

标签: image imagemagick compression

我见过很少的网站,比如compressjpeg,kraken,tinyjpg和其他一些在压缩时决定最佳质量的网站。如果图像质量为99,它们有时会压缩到94质量,有时压缩到70级。

我试图研究他们的模式并发现他们都使用了imagemagick,并且很可能他们有一些表读取这些图像的rgb模式并决定最佳压缩级别。

我希望所有图像的质量都是动态的,而不是下面的imagemagick命令,我目前正在使用: -

    convert -quality 70% input.jpg output.jpg

这是压缩后的一些图像及其相应的质量

Name    R   G   B   Overall Size    width   height  Tinyimg size    Tinypng compression     original
7.jpg   95.0354 120.168 158.313 124.506 266 1920    1200    159.8   70  91
2.jpg   155.466 126.892 121.507 134.622 59  720 378 55.3    92  94
3.jpg   230.791 230.596 230.532 230.64  28.5    720 378 10.3    69  94
1.jpg   74.8786 99.9428 101.71  92.1772 33.5    650 400 32.8    64  69
4.jpg   235.647 52.3033 50.1626 112.704 384 400 250 25.3    95  99
9.jpg   194.461 180.839 183.859 186.386 12.71   300 188 12.9    75  75
6.jpg   170.337 169.707 153.873 164.639 6.69    184 274 6.9 74  74
5.jpg   154.196 130.809 111.683 132.229 8.5 259 194 8.5 74  74
8.jpg   162.161 184.608 194.416 180.395 6.04    126 83  5.9 89  89

任何指导都会有用。

3 个答案:

答案 0 :(得分:1)

我打算将此作为评论,但我决定将其作为答案,以便人们可以添加/删除参数和结论。

我认为没有最佳质量设置。我认为这取决于图像的目的和图像的内容 - 也许还有其他的东西。

如果图像有很多平滑的渐变,则需要比图像具有高频率(高频率)细节的设置更高的质量设置,其中许多细节可能会丢失,而不会有明显的质量损失。

如果图像的目的是作为网络预览,那么它的质量设置可能远低于图像的目的是将一件艺术风景/人像摄影传递给打印机或具有此功能的客户支付1000英镑(我在看Venture UK)。

您可以做的一件事是设置您希望实现的最大文件大小,但忽略了以上所有内容:

convert -size 2048x2048 xc:gray +noise random -define jpeg:extent=100KB out.jpg

我想我说“它取决于”

答案 1 :(得分:0)

答案是Google的Guetzli

参见解释here

答案 2 :(得分:0)

您可以尝试jpeg-archive。此实用程序使用各种指标(如SSIM,Multi-SSIM和Smallfry)提供动态压缩。你应该尝试的命令是: -

jpeg-recompress --accurate -m smallfry --quality high image.jpg compressed.jpg

请注意,此方法默认情况下会继续进行二次取样,因此应保持这种方式,以便缩小尺寸。

IMO,Guetzli现在不适合制作,特别是对于大量的图像。