我需要一些帮助来编写一个bash脚本来调用命令行程序来进行批处理。我想要做的是调用一个名为enfuse的命令行程序,它将不同曝光的多个图像组合成一个图像。
通过在终端中输入Enfuse来调用:
enfuse [options] [input files]
如果我想把2张图片(0000.jpg和0001.jpg)放在一起,输出文件是A0001.jpg我会输入
enfuse -o A0001.jpg 0000.jpg 0001.jpg
然而,这不是我想要做的。我有一个图像文件夹,其中图像按顺序命名(例如,0000.jpg,0001.jpg ... 1000.jpg),其中我想要融入多个图像括号,每个括号由2个图像组成(0001。 jpg& 0002.jpg将是第一个支架,0003.jpg和0004.jpg将是第二个支架等等)
我如何编写一个调用enfuse的脚本来运行我的所有图像,一次运行2个图像,输出名称是顺序的(A0001.jpg,A0002.jpg ...)? Enfuse可以使用通配符作为输入文件,但我不希望将整个文件夹融合到一个图像中,所以我不能只将* .jpg作为输入文件。
答案 0 :(得分:0)
我会使用脚本从文件名对列表中创建脚本,如下所示:
ls * jpg | awk'BEGIN {n = 1} {a = z; b = $ 1; if(n == 2){print“enfuse -o A”b“”a“”b; n = 0;} z = b; n ++ ''
答案 1 :(得分:0)
您可以尝试这样的事情:
for i in {0000..1100}; do enfuse -o A$i.jpg $(( 10#$i*2 )).jpg $(( 10#$i*2 +1 )).jpg; done