ImageMagick 图片压缩与质量控制

6

我正在使用以下命令生成缩略图:

mogrify -resize 128x128 -quality 75 "some thumb file"

针对样本文件:

  • 如果我不指定质量为75,文件大小为40Kb
  • 如果我指定质量为75,文件大小为36 kb,但图像看起来很糟糕
  • 同一文件在Photoshop中调整大小仅为<10 kb,且表现出色!

是否可能使用imagemagick将缩略图调整到如此低的文件大小,以至于生成的图像不会很差?也许我错过了其他的设置?


我无法重现这个问题。您介意分享具体的图像和“mogrify -version”输出吗? - Jacob Budin
ImageMagick 6.7.6-7 2012-05-15 Q16 - Marius
1
@JacobBudin 不用在意,Jacob,我已经将命令更改为:“mogrify -strip -interlace Plane -resize 128x128 -quality 90”,现在文件大小不到10 KB。 - Marius
我认为在JPEG中,“-interlace Plane”没有任何作用。 - Tomasz Gandor
1个回答

2
你没有使用 -quality 时,图片的质量可能是92,或者与输入图片的质量相同(如果输入图片很大,则即使质量设置较低也可能看起来不错)。

https://imagemagick.org/script/command-line-options.php#quality

JPEG质量主要取决于两个因素:
  • 使用的量化矩阵(或分别为Y和Cb、Cr使用的不同QM)
  • 是否进行色度子采样,例如,图像使用一个8x8块(编码单元)来存储16x16(4:2:0情况下)像素块的颜色信息
您选择的首选质量90是没有进行子采样的最低质量。对于缩略图等小型图像,高分辨率的彩色信息可能很重要。
最后注意- Photoshop有自己的量化矩阵选择用于其“质量”设置。这些与mogrify和libjpeg的通常不同。您应该在mogrify中找到正确的质量级别,而不依赖于Photoshop中的数字。
如果您想模拟PS压缩,可以获取它们的QM: $ djpeg -v -v saved_by_photoshop.jpg >/dev/null 然后使用这些矩阵压缩一些图像。cjpeg可以使用-qtables file_with_QMs.txt进行压缩。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接