如何使用Imagemagick批量转换图像到特定的百万像素?

时间:2014-06-05 14:38:42

标签: imagemagick

我正在整理照片,并希望将它们调整到合理的范围。现在,输入文件是小图像和大图像的混合,一些是风景,一些是塔。

我想将它们全部(超过阈值)调整为特定的百万像素大小,但到目前为止我发现的所有描述仅调整为固定大小/宽高比(例如1024x786)或固定百分比(例如50%) 。这些似乎都不适用于具有一些小图像(例如300x400)和混合在3-12万像素范围内的图像的文件夹。

我正在寻找一个独立于宽高比的选项,将它们全部放在同一个百万像素球场。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

在调整大小结束时添加\>,仅向下调整较大的图像,不会影响较小的图像并保持纵横比。

convert -resize 1200X800\> image.jpg 

或者,如果您想要特定数量的像素,无论是横向还是纵向,都可以

convert -resize 1000000@\> image.jpg

所以最多可以获得百万像素,例如400x2,500或2,500x400。

<强> EDITED

我应该指出,大于符号前面的反斜杠是一个shell转义,以阻止shell决定重定向输出,就像它看到大于符号时一样。您可以将resize规范同样用单引号括起来,以防止shell看到它。如果这没有意义,那么以下两个命令是相同的:

convert -resize 1000000@\>  image.jpg
convert -resize '1000000@>' image.jpg