ImageMagick JPEG 质量/尺寸

Mar*_*ius 6 imagemagick mogrify

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

mogrify -resize 128x128 -quality 75 "some thumb file"
Run Code Online (Sandbox Code Playgroud)

对于示例文件:

  • 如果我不指定质量 75,我会得到一个 40Kb 文件
  • 如果我指定质量 75,我会得到一个 36 kb 文件,看起来很糟糕
  • 在 Photoshop 中调整大小的相同文件< 10 kb - 而且看起来棒极了!

是否可以使用 imagemagick 将缩略图大小调整到如此小的文件大小,以便生成的图像不会很糟糕?也许我在这里缺少一些其他设置?

Tom*_*dor 2

你所得到的-quality可能是质量 92,或者输入图像的质量(如果很大,尽管质量设置较低,但看起来还不错)。

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

JPEG 质量主要取决于两件事:

  • 使用的量化矩阵(或单独的 QM:一个用于 Y,另一个用于 Cb 和 Cr)
  • 是否存在色度子采样,例如图像使用一个 8x8 块(编码单元)来存储 16x16(在 4:2:0 情况下)像素块的颜色信息

您的首选质量 90 是没有子采样的最低质量。对于缩略图等小图像,高分辨率颜色信息可能很重要。

最后说明 - Photoshop 有自己的“质量”设置选择量化矩阵。这些与mogrify一般的 和 libjpeg 不同。您应该在 mogrify 中找到正确的质量级别,而不是依赖 Photoshop 中的数字。

如果你想模拟PS压缩,你可以得到他们的QM-s:

$ djpeg -v -v saved_by_photoshop.jpg >/dev/null

然后使用这些矩阵压缩一些图像。cjpeg可以使用-qtables file_with_QMs.txt.