0

我有一个名为 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”。

有没有一种方法或循环可以用一个脚本对所有这些图像进行 debayer 处理?我的机器上有 imagemagick。如果有人熟悉 GPU Debayer,这就是我正在使用的工具。它似乎有某种重复功能?http://www.fastcompression.com/products/debayer/debayer.htm

感谢您的任何想法!

4

1 回答 1

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.

于 2013-08-18T03:06:39.340 回答