我在不同目录中分布有多个图像。
每个文件夹具有不同数量的标题和侧面板。因此,解决方法是从 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
在实际情况下,我必须创建大量的时间图像才能仅创建最终的图像。避免这种变通办法可以节省演算时间和系统存储,那就太好了。
是否可以将这三个命令组合成一个唯一的命令? 谢谢
答案 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