在 ImageMagick 中将图像大小调整为特定的高度值?

在 ImageMagick 中将图像大小调整为特定的高度值?

我对此进行了搜索,但找不到一个易于实施的解决方案。

目前我正在开发一个处理全景图的应用程序。它们经过批量拼接处理后,平均尺寸为 18000x4000。如何使用 ImageMagick 将这些图像缩小到特定的高度值,同时保持纵横比不变?

根据手册,该convert操作需要同时调整高度和宽度,同时保持相同的纵横比。我想要在现有的调整大小脚本函数中输入 600 和 1000,这样既可以获得常规的可视图像,也可以获得缩小后的图像。

答案1

根据ImageMagick 的文档我建议使用-geometry x600,而x600意味着新图像具有高度为 600 像素,长宽比相同和旧图像一样。


为一个单幅图像你可以运行:

convert input.png -geometry x600 output.png

如果你希望转换文件夹中的所有图像在一次运行中,切换到它(即cd ~/Pictures/panoramas/)并使用

mogrify -geometry x600 *.png

但要小心,因为它覆盖原始图像文件。为了避免这种情况,你可以

  1. 新建一个文件夹 (mkdir ~/Pictures/panoramas/small
  2. 将图像复制到此文件夹(cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small)并
  3. 编辑此新文件夹中的图像(cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png)。

答案2

要调整文件夹中所有文件的大小,可以使用类似

mogrify -调整大小 800x1094!*jpg

--- 根据需要更改尺寸和扩展

相关内容