4

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

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

对于示例文件:

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

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

4

1 回答 1

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's 和 libjpeg's 不同。您应该在 mogrify 中找到正确的质量级别,而不是依赖 Photoshop 中的数字。

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

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

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

于 2020-04-15T08:25:07.827 回答