yolo在进行训练之前,需要将图片路径存入train.txt。如果你没有学过python或者安装python的软件,可能对官方提供的voc_label.py看的有些头晕。下面介绍一种C语言方法,快速生成train.txt。当然这种方法没有考虑训练、验证、测试集的分配。仅仅是将文件夹内的图片都遍历了一遍。
好了,话不多说,下面是代码:
#include<io.h>
#include<stdio.h>
#include<stdlib.h>
//找到图片文件的地址
#define ADDR "D:\\02 专业\\10 ISA\\05 手势识别\\gestureTrain\\JPEGImages\\*.jpg"//找到图片路径,修改此处1
//使用路径写入新的train.txt文件
#define ADDR2 "D:\\02 专业\\10 ISA\\05 手势识别\\gestureTrain\\JPEGImages\\"//希望train.txt存入的路径位置
const char* SreachAddr = ADDR;
int main(void)
{
long Handle;
struct _finddata_t FileInfo;
Handle = _findfirst(SreachAddr, &FileInfo);
if (-1 == Handle)
return -1;
FILE *fp;
if ((fp = fopen(ADDR2"train.txt", "a+")) == NULL)
{
printf("fail to open file!\n");
return 0;
}
char *str = FileInfo.name;
fputs(ADDR2, fp);
fputs(str, fp);
fputs("\n", fp);
while (!_findnext(Handle, &FileInfo))
{
str = FileInfo.name;
fputs(ADDR2, fp);
fputs(str, fp);
fputs("\n", fp);
}
_findclose(Handle);
system("pause");
return 0;
}
制作train.txt分为三步
1.将训练图片放入同一文件夹,同时将路径修改为代码中的ADDR中;
2.输入train.txt需要生成的路径;
3.使用CMD或者VS运行代码。 如下图
生成的train.txt如下。