YOLO训练之标注数据转化XML matlab编程

YOLO训练

一、数据准备

数据转化

数据存储的方式
图片名称存在第一行
接下来每一行存储一个目标框,分别为x坐标,y坐标,w宽,h高,c类别存储的方式如下:
这里写图片描述
matlab代码如下:

clear
addpath(genpath('VOCdevkit'));%添加转化为xml的工具
fid = fopen('存储图片标注信息的文件');
cnt = 1;
tline = fgetl(fid);
ind = regexp(tline,'\');这个是正则化表达式,返回子串的开始下标和结束下标'
imageName = tline;
imageReName{
   1} = fullfile(pwd,'path',imageName);%根据你保存图片路径的情况补充为完整的路径
tline = fgetl(fid);
rec{
   1} = str2num(tline);
tline = fgetl(fid);
imageNum = 1;
while ischar(tline)
    while regexp(tline(1),'\d')%这样做的原因:因为我们存储图片名称第一个字符不是数字,这个正则表达的意思是判断第一个字符是否为数字。
        rec{imageNum} = [rec{imageNum};str2num(tline)];
        tline = fgetl(fid);
    end
    ind = regexp(tline,'\');%'
    imageNum = imageNum + 1;
    imageName = tline;
    imageReName{imageNum} = fullfile(pwd,'task-action-data/result_temp',imageName);
    tline = fgetl(fid);
    rec{imageNum} = str2num(tline);
    tline = fgetl(fid);
end
%%经过这个处理之后,数据存储的方式是,图片的完整路径存储在imageReName这个结构体里面,标注的信息存储在rec这个结构体里面。
rand_ind = randperm(length(rec));%%'这个是为了进行随机处理,rangperm的功能是生成[0,length(rec)]的不重复的序列。
imageReName = imageReName(rand_ind);%%重新调整顺序
rec = rec(rand_ind);

dataPath = fullfile(pwd,'path');
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值