【发布时间】:2020-01-27 16:46:20
【问题描述】:
使用 ImageMagick,我正在尝试调整 JPEG 图片尺寸并减小文件大小。
问题是我不想降低图像质量。
我尝试了以下命令:
convert -resize 170x80 -resample 100x100 image1.jpg image2.jpg
=> 调整大小的图片,但质量很差
convert -resize 170x80 -quality JPEG image1.jpg image2.jpg
=> 调整大小的图像和良好的质量,但文件大小相同
convert -density 600 -resize 170x80 image1.jpg image2.jpg
=> 调整大小的图像,但质量很差
我不知道应该使用什么选项。
【问题讨论】:
-
使用 JPEG 格式的图像压缩会导致一些质量损失,无论您如何进行。如果您需要绝对无损压缩,您可能想尝试不同的格式,但是如果没有示例图像,我不知道为您的用例推荐什么选项。维基百科上的压缩文章列出了一些您可能会考虑的无损选项:en.wikipedia.org/wiki/Image_compression1
-
你输入的图片尺寸是多少?也许您可以发布您的输入图像并告诉我们您想要输出的文件大小。您是否见过
-define jpeg:extent={size}将输出 JPG 写入给定的文件大小?见imagemagick.org/Usage/formats/#jpg_write。注意:密度不会改变光栅图像的文件大小。它只影响输出的打印尺寸。注意:您的语法是错误的,尽管对于 ImageMagick 6 可能无关紧要。正确的语法首先读取输入,然后是设置,然后是命令,然后是输出。 -
如果您将一个非常大的文件 (WxH) 缩小到 170x80,那么您很可能会因为调整大小过滤器的尺寸跳跃过大而失去质量。您可能希望以一系列 -scale 50% 的步骤向下,直到接近,然后 -resize 170x80。或者,尝试添加不同的 -filter 选项。见imagemagick.org/Usage/filter 和imagemagick.org/Usage/filter/nicolas
-
如果您发布示例输入,我们可以提供更好的建议。
标签: image imagemagick