我正在尝试运行 YOLO 对象检测代码https://pjreddie.com/darknet/yolo/
我可以运行命令并获得单个视频文件的所需结果,但我不想对每个文件单独执行此操作
例如:
我的命令:python3 yolo_video.py --input sample1.avi --output sample1out.avi --yolo yolo-coco
但我想要这样的东西
python3 yolo_video.py --input inputVideos/sample1.avi --output outputVideos/sample1out.avi --yolo yolo-coco
因此,该命令对输入文件夹中的所有文件(sample1.avi、sample2.avi、sample3.avi……)运行,并将结果作为输出文件夹中的文件(sample1out.avi、sample2out.avi、sample3out.avi……)
答案1
您可以使用带有分号的单行代码来完成此操作,但最好的方法可能只是制作一个小脚本或函数,然后用它来运行它。
mkdir -p output_videos
for i in input_videos/* ; do
[ -f "${i}" ] || continue
name=$(echo "${i}" | sed 's,.*/\(.*\)\.\(.*\),output_videos/\1out.\2,g')
python3 yolo_video.py --input "${i}" --output "${name}" --yolo yolo-coco
done