1

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

每个文件夹都有不同数量的标题和侧面板。出于这个原因,解决方法是从imagemagick软件执行蒙太奇函数,并为每个时间合成图像提供特定参数。

这里有一个简单的例子:

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

在实际情况中,我必须创建大量时间图像才能创建最后一个。避免这种解决方法以节省微积分时间和系统存储会很好。

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

4

1 回答 1

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
于 2019-02-27T21:14:24.820 回答