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

我环顾四周,找不到一个容易实现的解决方案。

目前我正在处理一个处理全景图的应用程序。 当它们从批量缝合过程中出来时,尺寸平均为18000×4000。 使用ImageMagick,如何在保持纵横比的同时将这些图像缩小到特定的高度值?

根据手册, convert操作同时调整高度和宽度,同时保持相同的宽高比。 我想要的是在我现有的resize脚本函数中放入600和1000,并且既有常规的可视图像,也有缩小的尺寸。

根据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 )。

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

mogrify -resize 800×1094! * jpg#keep image aspect ratio

—适当改变尺寸和延伸