Vips + mozjpeg vs Imagick

时间:2018-12-20 11:10:54

标签: imagick imagemagick-convert vips go-imagick

我正在寻找一种在缩小图像时获得最佳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的压缩效果好吗?

到原始图像的链接(不飞溅): https://images.unsplash.com/photo-1545278068-cdca78378350

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

感谢任何建议!

1 个答案:

答案 0 :(得分:1)

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压缩,则需要从源代码构建所有内容。