1

我正在寻找一种解决方案,以在缩小图像时获得最佳 jpeg 压缩。我正在比较 Vips + Mozjpeg 和 Imagick(转换)。

我的原始文件 (pic.jpg) 为 6.5 MB。

我跑:

vipsthumbnail pic.jpg --size=1920x1280 --delete -o pic-vips-q96.jpg[Q=96,optimize_coding,strip,intelace]

我的输出文件是 1.7 MB

我跑:

convert pic.jpg -resize 1920x1280 -quality 96 -interlace plane -strip pic-imagick-q96.jpg 

我的输出文件是 1.2 MB

我在这里做公平的比较吗?Imagick 在压缩方面是否更好?

原始图片的链接(来自 unsplash): https ://images.unsplash.com/photo-1545278068-cdca78378350

我正在比较这两个库,因为它们都有 Go 绑定,这是我在项目中需要的。

感谢您的任何建议!

4

1 回答 1

2

libvips 会自动禁用 Q > 90 的色度二次采样,因此您的两个压缩设置并不完全相同。尝试这个:

$ vipsthumbnail pic.jpg --size=1920x1280 -o pic-vips-q90.jpg[Q=90,optimize_coding,strip,interlace]
$ ls -l pic-vips-q90.jpg 
-rw-r--r-- 1 john john 495764 Dec 20 17:17 pic-vips-q90.jpg
$ convert pic.jpg -resize 1920x1280 -quality 90 -interlace plane -strip pic-imagick-q90.jpg
$ ls -l pic-imagick-q90.jpg 
-rw-r--r-- 1 john john 492029 Dec 20 17:17 pic-imagick-q90.jpg

所以他们非常接近。剩下的区别可能只是缩小算法——也许 libvips 正在制作一个非常清晰的图像。

默认情况下,libvips 可能会使用 libjpeg-turbo。如果您想使用 mozjpeg 进行压缩,您需要从源代码构建所有内容。

于 2018-12-20T17:23:51.890 回答