我正试图找出imagemagick操作来减少图像文件大小,通过降低其质量。使用imageMagick缩小图像文件大小
此操作工作
convert -fuzz 1% -trim -quality 90 -limit memory 32MiB original.jpg converted.jpg
降低品质因数会降低IMAGESIZE。有没有其他方法可以实现同样的效果,并增加了MAX_SIZE的限制。
例如5MB的图像应缩减为2MB
我正试图找出imagemagick操作来减少图像文件大小,通过降低其质量。使用imageMagick缩小图像文件大小
此操作工作
convert -fuzz 1% -trim -quality 90 -limit memory 32MiB original.jpg converted.jpg
降低品质因数会降低IMAGESIZE。有没有其他方法可以实现同样的效果,并增加了MAX_SIZE的限制。
例如5MB的图像应缩减为2MB
你会使用-define jpeg:extent=...
。
下面是一个随机数据的大图像的示例,它需要非常大的文件大小才能以合理的质量准确表示它。
convert -size 10000x1000 xc:gray +noise random -define jpeg:extent=2MB out.jpg
结果
-rw-r--r-- 1 mark staff 1844050 15 May 10:44 out.jpg
并检查所使用的质量:
identify -format "%Q" out.jpg
21
又如:
convert -size 10000x1000 xc:gray +noise random -define jpeg:extent=400kb out.jpg
结果
-rw-r--r-- 1 mark staff 377757 15 May 10:44 out.jpg
并检查使用的质量:
identify -format "%Q" out.jpg
5
这真棒!谢谢 – akash
除了质量的一个重要因素是色度二次采样。默认情况下,IM使用“减半色度”,但可以使用“分色色度”。详细信息请参见this question。
检查jpeg:extent option在IM的转换:
您还可以使用Google's Guetzli。据我了解,它会尝试各种JPEG编码选项以减小文件大小,同时检查结果的视觉可接受性。
请注意,正确的IM 6语法在应用设置和运算符之前先读取光栅图像。因此,请阅读您在convert命令之后立即输入。 – fmw42
出于兴趣,您应该整理出您的命令。在大多数情况下,它是“转换输入选项输出”。您通常可以在V6中获得错误的订单,但V7更严格。如果/当您升级到V7时,这可以为您节省一些困惑。 – Bonzo
@Bonzo谢谢,我会记住这一点 – akash