我想用 ImageMagick 压缩 JPG 图像文件,但大小差异不大。默认情况下,输出大小大于输入。我不知道为什么,但在添加一些 +profile 选项并设置质量后,我可以获得更小的尺寸,但仍然与原始尺寸相似。
输入图像为255kb,处理后的图像为264kb(使用+profile删除配置文件并将质量设置为70%)。有什么办法可以将该图像压缩到至少 150kb 吗?那可能吗?我可以使用哪些 ImageMagick 选项?
最佳答案
我总是使用:
- 质量85
- 渐进式(压缩压缩)
- 用于优化大小的非常小的高斯模糊(半径的 0.05 或 0.5)取决于图片的质量和大小,这显着优化了 jpeg 的大小。
- 删除任何评论或 EXIF 元数据
在 imagemagick应该是
convert -strip -interlace Plane -gaussian-blur 0.05 -quality 85% source.jpg result.jpg
或者在新版本中:
magick source.jpg -strip -interlace Plane -gaussian-blur 0.05 -quality 85% result.jpg
Source .
From @Fordi in the comments (喜欢的话别忘了给他点个赞):
如果您不喜欢模糊,请改用 -sampling-factor 4:2:0
。这样做的作用是将色度 channel 的分辨率降低一半,而不会扰乱您的眼睛所捕捉到的亮度分辨率。如果您希望转换具有更好的保真度,可以通过指定 -define jpeg:dct-method=float
在不增加文件大小的情况下获得轻微的改进 - 即使用更精确的浮点离散余弦变换,而不是默认的快速整数版本。
关于image-processing - 使用 ImageMagick 压缩 JPG 文件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7261855/