用于处理图像目录的命令循环

时间:2013-08-17 19:12:38

标签: image loops image-processing cmd converter

我有一个名为GPU Debayer的程序,它使用此命令行代码转换图像:

DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i inputpic.pgm -o outputpic.ppm

我之前处理过的文件名相同的图像文件夹除了端点编号为0-39之外。因此,我在cmd提示符中对这样的文件夹进行了debayering。

for %a in (0 1 2 3 4 5 6 7 8 9 10 11 1
2 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
39) do DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i single%a.pgm -o si
ngle%a.ppm

现在,我需要处理一个文件夹,其中包含多组这些图像,现在标记为filename0000 - filename0039但是,就像我说的那样,有一些这些。即,120个图像,40个名称为“filename0000 - filename0039”,40个名为“filename25_0000 - filename25_0039”,40个名为“filename37_0000 - filename37_0039”。

使用一个脚本来解决所有这些图像是否有任何方式或循环?我的机器上有imagemagick。如果有人熟悉GPU Debayer,这就是我正在使用的工具。它似乎有某种重复功能吗?http://www.fastcompression.com/products/debayer/debayer.htm

感谢任何想法!!

1 个答案:

答案 0 :(得分:0)

我对该特定程序并不是真正熟悉,但我建议以下内容可以完成该任务(在批处理文件中):

setlocal
for %%i in (0,1,39) do (
    DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i filename00%%~i.pgm -o filename00%%~i.ppm
)
for %%i in (25 37) do (
    for %%~j in (0,1,39) do (
    DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i filename%%~i_00%%~j.pgm -o filename%%~i_00%%~j.ppm
    )
)

只需复制并粘贴它,它基本上可以自动完成您正在进行的过程。最后一个循环执行任何带有数字和下划线的循环。请记住:我对此处的批处理知之甚少,而且我不确切知道如何通过多个命名文件夹来解决这个问题。此外,可以使用forfiles写一些更好的东西。