ImageMagick:如何将多个目录中的多个图像与具有不同参数的Montage组合在一起?

时间:2019-02-27 18:44:03

标签: imagemagick imagemagick-montage

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

每个文件夹具有不同数量的标题和侧面板。因此,解决方法是从 imagemagick 软件执行 montage 函数,并为每个 时间合成图像指定参数

下面是一个简单的示例:

autocomplete="off"

请参见第一时间图像是两列图像的组合。另一方面,第二时间图像是一列图像的组合。最后,我需要一个由先前创建的两个时间图像组成的最终图像

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

在实际情况下,我必须创建大量的时间图像才能仅创建最终的图像。避免这种变通办法可以节省演算时间和系统存储,那就太好了。

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

1 个答案:

答案 0 :(得分:1)

我不清楚您所有文件的位置,但我想可以为您提供帮助。除了写入磁盘文件,您还可以使任何 ImageMagick 命令写入MIFF(“ Magick图像文件格式” )流,该流将保留所有您可能会保留的信息已写入文件。

因此,您无需写入磁盘即可执行此操作:

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输出并将其剪辑为最终结果!

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

顺便说一句,如果您希望将其作为一个衬纸运行,则在右大括号之前需要一个附加的分号,并且两个大括号的两侧都必须始终留有空格:

{ 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