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

Seb*_*tos 2 imagemagick

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

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

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

Mar*_*ell 5

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

convert -resize 1200X800\> image.jpg 
Run Code Online (Sandbox Code Playgroud)

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

convert -resize 1000000@\> image.jpg
Run Code Online (Sandbox Code Playgroud)

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

EDITED

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

convert -resize 1000000@\>  image.jpg
convert -resize '1000000@>' image.jpg
Run Code Online (Sandbox Code Playgroud)

  • 伟大的!顺便说一句,如果你有成千上万,不要忘记 GNU Parallel。 (2认同)