使用 ImageMagick 垂直堆叠多幅图像

使用 ImageMagick 垂直堆叠多幅图像

我想使用 ImageMagick 将多幅图像合并为一幅图像。为了更好地解释,我希望结果看起来类似于此:

也就是说,我有许多截图,我想把它们变成一张图像,并将原始图像相互叠加。

通过谷歌搜索,我遇到了“复合”命令,但我不知道是否以及在这种情况下如何使用它来获得我想要的结果。

答案1

对于任意数量的名为的输入文件:in-<something>.jpg

convert -append in-*.jpg out.jpg

为了附加特定文件,或跳过数字而不是获取完整的“glob”,您可以明确提及输入文件并append在其后放置命令

转换 in-1.jpg in-5.jpg in-.jpg +附加出-入1-加-入5-和-入.jpg

您可以使用-append(而不是+append)进行垂直粘贴。

或者:

montage -mode concatenate -tile 1x in-*.jpg out.jpg

还将创建一个out.jpg包含源图像垂直连接的文件。

convert

对于单行或单列的简单连接,append该工具的选项convert就足够了。请注意,-append垂直连接所有图像,创建一列n行,并+append水平连接,创建一行n列。

(看ImageMagick:命令行选项

montage

为了更好地控制布局,我们需要该montage工具。montage -mode concatenate将像选项一样将输入图像粘合在一起append-tile 1x控制要应用的布局。

tile遵循格式×,但任何一方都可能缺失并montage会想办法满足约束。

我们1x在这里使用(恰好一列,任意数量的行)来获得与 相同的效果-append。如果没有-tile 1x,它会像 一样合并图像+append,默认为-tile x1(一行上任意数量的列)。

(看ImageMagick 示例:蒙太奇、图像数组

答案2

-resize 当图像的宽度/高度不同时使用

您可以使用选项固定所有图像的高度-resize,例如将两个水平连接的图像的高度固定为 500 像素:

convert +append image_1.png image_2.png -resize x500 new_image_conbined.png

或者对于垂直连接,您可能希望设置固定宽度:

convert -append image_1.png image_2.png -resize 500x new_image_conbined.png

例子:

图像1.png 1067x600

在此处输入图片描述

图像2.png 1920x1080

在此处输入图片描述

新图像合并.png 889x500

在此处输入图片描述

如何与 GIMP 交互

如果您需要首先以交互方式裁剪/调整图像大小(通常情况下是这样),那么 GIMP 就是完美的工具,下面是详细的分步说明:https://graphicdesign.stackexchange.com/questions/83446/gimp-how-to-combine-two-images-side-by-side/145543#145543

在此处输入图片描述

SVG

ImageMagick 6.9.11-60 不处理它们,因此请参阅:

相关内容