对Crowdhuman数据集处理,根据生成的train.txt分离数据集

根据train.txt分离数据集


#分离数据集
最近想用YOLOv5训练Crowdhuman数据集,但发现此数据集不是txt格式,于是在网上搜索对Crowdhuman数据格式更改的代码工具,将Crowdhuman数据更改为txt格式后,发现所有的train和test文件数据都在一个文件夹里。要想用于YOLOv5的训练,需要对其分离,因为格式工具已经将train.txt和test.txt生成,根据这两个文件copy IMG和label即可。、
代码

#第一天学习
#第一天学习
# 根据train。txt和test。txt划分数据集
import os
import shutil

#原始路径
traintxt=r'D:\songjiahao\DATA\crowdhuman-608x608\train.txt'
testtxt=r'D:\songjiahao\DATA\crowdhuman-608x608\test.txt'
savedir='D:\songjiahao\DATA\crowhuman/'
#训练集路径
train_image_path = r'D:\songjiahao\DATA\crowhuman\trainJPEGImages/'
train_label_path = r'D:\songjiahao\DATA\crowhuman\trainAnnotations/'

#测试集路径
test_image_path = r'D:\songjiahao\DATA\crowhuman\testJPEGImages/'
test_label_path = r'D:\songjiahao\DATA\crowhuman\testAnnotations/'
#检查文件夹是否存在
'''
def mkdir():
    if not os.path.exists(train_image_path):
        os.makedirs(train_image_path)
    if not os.path.exists(train_label_path):
        os.makedirs(train_label_path)

    if not os.path.exists(val_image_path):
        os.makedirs(val_image_path)
    if not os.path.exists(val_label_path):
        os.makedirs(val_label_path)

    if not os.path.exists(test_image_path):
        os.makedirs(test_image_path)
    if not os.path.exists(test_label_path):
        os.makedirs(test_label_path)
'''
def main():
    f = open(traintxt, 'r')
    trainlist = f.readlines()
    f = open(testtxt, 'r')
    testlist = f.readlines()
    f.close()
    print("训练集数目:{},测试集数目:{}".format(len(trainlist),len(testlist)))
    # for i in range(len(trainlist)):
    #
    #     name = trainlist[i][24:-5]
    #
    #     srcImage = traintxt.replace('train.txt','') + name + '.jpg'
    #     srcLabel = traintxt.replace('train.txt','') + name + '.txt'
    #
    #     dst_train_Image = train_image_path + name + '.jpg'
    #
    #     dst_train_Label = train_label_path + name + '.txt'
    #     shutil.copyfile(srcImage, dst_train_Image)
    #     shutil.copyfile(srcLabel, dst_train_Label)
    # for i in range(len(testlist)):
    #     name = testlist[i][24:-5]
    #
    #     srcImage = testtxt.replace('test.txt', '') + name + '.jpg'
    #     srcLabel = testtxt.replace('test.txt', '') + name + '.txt'
    #
    #     dst_test_Image = test_image_path + name + '.jpg'
    #
    #     dst_test_Label = test_label_path + name + '.txt'
    #     shutil.copyfile(srcImage, dst_test_Image)
    #     shutil.copyfile(srcLabel, dst_test_Label)
    #     print(i+1)



if __name__ == '__main__':
    main()

需要填写的参数有原始路径 训练集路径 测试集路径。提前建好文件夹,再输入路径比较好。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一休哥※

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值