0

次のコマンドライン コードを使用して画像を変換する GPU Debayer というプログラムがあります。

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

私は以前、末尾が 0 ~ 39 の番号が付いていることを除いて、ファイル名が同じである画像のフォルダーを扱っていました。そのため、cmdプロンプトでこのようにフォルダーをデベイヤーしていました。

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

ここで、ファイル名 0000 ~ ファイル名 0039 とラベル付けされたこれらの画像のセットを多数保持する 1 つのフォルダーを処理する必要があります。つまり、120 枚の画像のうち、40 枚は「filename0000 - filename0039」という名前、40 枚は「filename25_0000 - filename25_0039」という名前、40 枚は「filename37_0000 - filename37_0039」という名前です。

これらすべての画像を 1 つのスクリプトでデベイヤーする方法またはループはありますか? 私のマシンには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 に答える