ImageMagick JPEG质量/大小

ImageMagick JPEG质量/大小,imagemagick,mogrify,Imagemagick,Mogrify,我正在使用以下命令生成缩略图: mogrify -resize 128x128 -quality 75 "some thumb file" 对于示例文件: 如果我没有指定质量75,我会得到一个40Kb的文件 如果我指定质量为75,我会得到一个36 kb的文件,它看起来很糟糕 在photoshop中调整大小的同一个文件是/dev/null 然后使用这些矩阵压缩一些图像cjpeg可以使用-qtables文件\u和\u QMs.txt来完成此操作我无法重新创建此问题。您是否介意共享特定图像和mog

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

mogrify -resize 128x128 -quality 75 "some thumb file"
对于示例文件:

  • 如果我没有指定质量75,我会得到一个40Kb的文件
  • 如果我指定质量为75,我会得到一个36 kb的文件,它看起来很糟糕
  • 在photoshop中调整大小的同一个文件是<10 kb——看起来棒极了
是否可以使用imagemagick将缩略图的大小调整为如此低的文件大小,以使生成的图像不会令人讨厌?
也许我缺少了一些其他设置?

如果没有
-质量
,可能是质量92,或者输入图像的质量(如果图像较大,尽管质量设置较低,但看起来还可以)

JPEG的质量主要取决于两个方面:

  • 使用的量化矩阵(或单独的QMs:一个用于Y,另一个用于Cb和Cr)
  • 是否存在色度子采样,例如,图像使用一个8x8块(编码单元)存储16x16(4:2:0)像素块的颜色信息
您的首选质量90是没有子采样的最低质量。对于小图像(如缩略图),高分辨率颜色信息可能很重要

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

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

$djpeg-v-v由photoshop.jpg保存>/dev/null


然后使用这些矩阵压缩一些图像
cjpeg
可以使用
-qtables文件\u和\u QMs.txt来完成此操作

我无法重新创建此问题。您是否介意共享特定图像和
mogrify-version
output?ImageMagick 6.7.6-7 2012-05-15Q16@JacobBudin没关系,Jacob,我已经将命令更改为:“mogrify-strip-interlace Plane-resize 128x128-quality 90”,文件现在小于10kb,我想
-interlace Plane
在JPEG中没有任何作用。