YOLOv3的批量图片检测以及批量输出(windows下)

您所在的位置:网站首页 yolov3怎么用原图测试 YOLOv3的批量图片检测以及批量输出(windows下)

YOLOv3的批量图片检测以及批量输出(windows下)

2023-12-20 01:08| 来源: 网络整理| 查看: 265

YOLOv3的批量图片检测

前言:本文写的目的是因为自己在寻找方法的时候看到的博客需要修改的地方太多,容易出错,所以写一个简单一点,也算给自己一个备注。尽量傻瓜式,所以多图警告!本文的批量检测需要:

1. 改极少量的代码(darknet框架下作者的原生代码)。

2. 一个包含所有需要检测图片路径的txt文件,一行为一个图片的地址。

3. 在cmd下输入指令。

1.代码修改

用vs打开darknet工程文件,找到文件名为detector.c的C文件,ctrl+f搜索"save_image(im, "predictions")",然后定位到这一行,应该是1200+行,然后将其替换为如下代码:

char b[512]; sprintf(b, "output/%s", GetFilename(input));//保存在output中 save_image(im, b);

画风如下:

2. 准备一个包含所有需要检测图片路径的txt文件

把要检测的图片的绝对地址全部放在一个txt文件中,画风如下所示:

3. 在cmd下用指令检测即可

在darknet的工程路径下创建一个名为“output”的文件夹,画风如下所示:

然后和yolo训练指令类似,在cmd下输入以下指令即可(如果用的coco数据集格式前几个参数可能稍有不同,不过后面都是一样的):

.\darknet.exe detector test -ext_output -dont_show  

 其中用“< >”尖括号框出来的地方需要修改:

data/voc.data:检测用模型的voc.data文件的地址。

cfg/yolov2-voc.cfg:检测用模型的cfg文件的地址。

yolo-voc.weights:检测用模型的weights文件的地址。

data/train.txt :步骤2中准备的txt文件地址。(看评论发现这里忘记说明了,data/train.txt需要用尖括号括出来,不然会出现"Cannot load image"错误)

result.txt:输出文本格式的检测结果的文件名,随意,用"result.txt"就行。

运行之后就能在output文件夹中看到所有带有检测结果的图片了。

画风如下所示(用的灰度图进行检测的,所以框可能看不清楚):

然后还会生成一个result的txt文件,打开画风如下所示:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3