ImageMagick:如何将来自多个目录的多个图像与具有不同参数的蒙太奇结合起来?

ImageMagick: How to combine multiple images from multiple directories with Montage with different arguments?

我有多个图像分布在不同的目录中。

每个文件夹都有不同数量的 headers 和侧面板。出于这个原因,解决方法是从 imagemagick 软件执行 montage 函数,并为 each 时间合成图像.

这里有一个简单的例子:

cd /home/archy && montage figure1/*.png -tile 2x -geometry +1+1 figure1.png

cd /home/archy && montage figure2/*.png -tile 1x -geometry +1+1 figure2.png

看到第一张时间图像是由两列图像组成的。另一方面,第二个时间图像是一列图像的合成。最后,我需要一个最终图像,由之前创建的两个时间图像组成。

cd /home/archy && montage *.png -tile 1x -geometry +1+1 total.png

在真实情况下,我必须创建大量的时间图像才能创建最终的图像。最好避免这种解决方法以节省计算时间和系统存储空间。

是否可以将这三个命令组合成一个唯一的命令? 谢谢

我不太清楚你所有的文件在哪里,但我想我可以帮助你。您可以将任何 ImageMagick 命令写入 MIFF ("Magick Image File Format") 流,而不是写入磁盘文件您可能已经写入文件的信息。

因此,您可以在不写入磁盘的情况下执行此操作:

montage SOMESTUFF SOMEHOW miff:- | convert miff:- OTHERSTUFF result.png

在你的具体情况下,我认为你想要:

cd /home/archy
{ 
   montage figure1/*.png -tile 2x -geometry +1+1 miff:- 
   montage figure2/*.png -tile 1x -geometry +1+1 miff:-
} | montage miff:- -tile 1x -geometry +1+1 result.png

因此,您 运行 将您的第一个 montage 与以往一样,并将其写入,然后在一个复合语句中写入第二个 montage 的结果第三个 montage 命令接收前两个 montage 输出并将它们拼接成最终结果!!!

我知道我的意思,即使没有人知道!

顺便说一句,如果你想 运行 它作为一个单行,你将需要在右大括号之前添加一个分号,并且总是 space 两个大括号的任一侧:

{ montage figure1/*.png -tile 2x -geometry +1+1 miff:- ; montage figure2/*.png -tile 1x -geometry +1+1 miff:- ; } | montage miff:- -tile 1x -geometry +1+1 result.png