使用Image Magick转换图像并显示结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Image Magick转换图像并显示结果相关的知识,希望对你有一定的参考价值。

我正在使用Image Magick操纵图像。这是我使用的命令:

convert source.png -resize 1200 -quality 75 result.jpg

它按预期工作。我不知道是否有办法报告转换结果显示压缩程度(以百分比或千字节为单位或仅显示原始图像和转换图像的大小)?

我尝试过-monitor开关,但它只显示转换过程中的进度报告。

(我使用的是Linux)

答案

您使用的质量设置告诉ImageMagick压缩图像多少。或者,您可以根据输入大小计算输出文件大小的比率。或者输出文件大小与-quality 75的比率与使用-quality 100时的比率,即使-quality 100仍然压缩一些。

你可以通过获得图像的大小

convert image -precision 16 -format "%b
" info:

设置较大的精度将强制结果为字节,但您必须从末尾删除B字符。因此,您可以执行以下操作来获取输出/输入文件大小的百分比:

outsize=$(convert output -precision 16 -format "%b
" info: | sed 's/B//g')
insize=$(convert input -precision 16 -format "%b
" info: | sed 's/B//g')
percent_size=$(convert xc: -format "%[fx:100*$outsize/$insize]
" info:)

以上是关于使用Image Magick转换图像并显示结果的主要内容,如果未能解决你的问题,请参考以下文章

将 Magick::Image 转换为 cv::Mat

将 mogrify 与 Image Magick 一起使用时如何重命名图像?

使用 Image Magick 创建具有固定颜色图的 GIF 图像

在 R 上使用 Magick 编写多个图像

在使用自制软件安装的 Mac 上使用 Image::Magick 注释图像

使用 Image Magick 进行图像压缩 mogrify 问题