Opencv 对目录中的每个文件运行命令

Opencv 对目录中的每个文件运行命令,opencv,process,batch-file,blob,Opencv,Process,Batch File,Blob,我需要对目录中的每个文件运行一个命令。因为我想处理数百个视频,我会发现使用批处理脚本更容易 该命令如下所示: blobtrack_sample.exe fg=FG_0 bd=BD_CC btgen=RawTracks track=E:\opencv\tracks\video1.txt bta=TrackDist btavi=E:\opencv\btavi\test.avi E:\sample\video1.avi 其中,btavi=表示输出文件,最后一个参数表示输入文件。 每个文件的输出文件名

我需要对目录中的每个文件运行一个命令。因为我想处理数百个视频,我会发现使用批处理脚本更容易

该命令如下所示:

blobtrack_sample.exe fg=FG_0 bd=BD_CC btgen=RawTracks track=E:\opencv\tracks\video1.txt bta=TrackDist btavi=E:\opencv\btavi\test.avi E:\sample\video1.avi
其中,
btavi=
表示输出文件,最后一个参数表示输入文件。

每个文件的输出文件名必须不同。

要遍历某个文件夹中的所有文件,请执行以下操作:

@echo off
setlocal enabledelayedexpansion
set EXE_FILE=E:\opencv\build\bin\Debug\blobtrack_sample.exe
set INPUT_PATH=E:\sample\
set TRACKS_PATH=E:\opencv\tracks\
set OUTPUT_PATH=E:\opencv\btavi\
set COUNT=0
pushd %INPUT_PATH%
for %%f in (*) do if %%f neq %~nx0 (
    set /a COUNT+=1
    echo Processing %%f, track=%%~nf.txt, btavi=test!COUNT!%%~xf
    %EXE_FILE% fg=FG_0 bd=BD_CC btgen=RawTracks track=%TRACKS_PATH%\%%~nf.txt bta=TrackDist btavi=%OUTPUT_PATH%\test!COUNT!%%~xf %%f
)
popd
循环获取每个文件,将其放入变量
%%f
,并调用blobtrack_sample.exe,其中
%%f
是其参数之一。另外,
EXE\u文件
中可执行文件的名称

要运行此脚本,请将此代码复制粘贴到扩展名为“.bat”的文件中并执行它。希望有帮助