yolov3批量测试并存在自己定义的路径(linux,AlexeyAB,c++版本)

 c++版本相对于官网上的c版本更加智能(c版本只能在linux上跑),而c++版本的yolov3也可以在win上跑。

找到home/yourpath/.../darknet/src/detector.c程序。

开头的*GetFilename进行修改,申明的函数也带进去,可以选择直接粘贴过去。其中就参数6注意一下就行。

#include "darknet.h"
#include <sys/stat.h>
#include<stdio.h>
#include<time.h>
#include<sys/types.h>
static int coco_ids[] = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,70,72,73,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90};
 
char *GetFilename(char *p)
{ 
    static char name[20]={""};
    char *q = strrchr(p,'/') + 1;
    strncpy(name,q,6);//注意后面的6,如果你的测试集的图片的名字字符(不包括后缀)是其他长度,请改为你需要的长度(官方的默认的长度是6)
    return name;
}

然后ctrl+f搜索"save_image(im, "predictions")"将下面程序插入,然后注释掉save_image(im, "predictions")

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

修改完成在darknet路径下make clean再make

然后将你需要批量测试图片的绝对路径保存于train.txt内,可以放在data文件夹下。(需要开始在darknet文件夹里面创建output文件夹)注意:<>不能省略。

./darknet detector test cfg/voc.data cfg/yolov3.cfg yolov3.weights -dont_show -ext_output <data/train.txt> results.txt

对应着把cfg进行修改即可。

然后就坐等在daknet/output里面的照片输出完成,同时在result.txt里面会保存每张照片里面目标的坐标信息。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值