发布于2020-03-17 15:59 阅读(1207) 评论(0) 点赞(10) 收藏(1)
本次目的是为了把我们的图片做一下分类,
image_set:图片分类的集合,产生ImageSets/main/ 下面的几个txt文件,训练时依靠这个去匹配相应的图片去训练或测试
# -*- coding: utf-8 -*-
# @Author : xionghao.chen
# @File : MakeImageSetsMainTxt.py
# @date : 2020.03.13
# @Software: PyCharm
#产生图片集序列
import os
import random
def make_imagesets(year):
trainval_percent = 0.2 #训练验证的图片占总训练图片的比例
train_percent = 0.8 #训练图片占总图片的比例
xmlfilepath = 'VOCdevkit/VOC%s/Annotations'%(year)
total_xml = os.listdir(xmlfilepath)
num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)
ftrainval = open('VOCdevkit/VOC%s/ImageSets/Main/trainval.txt'%(year), 'w')
ftest = open('VOCdevkit/VOC%s/ImageSets/Main/test.txt'%(year), 'w')
ftrain = open('VOCdevkit/VOC%s/ImageSets/Main/train.txt'%(year), 'w')
fval = open('VOCdevkit/VOC%s/ImageSets/Main/val.txt'%(year), 'w')
for i in list:
name = total_xml[i][:-4] + '\n'
if i in trainval:
ftrainval.write(name)
if i in train:
ftest.write(name)
else:
fval.write(name)
else:
ftrain.write(name)
ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
if __name__ == '__main__':
try:
year = input("input voc year to make_imagesets:")
make_imagesets(year)
print('make_imagesets finish')
except Exception as e:
print('make_imagesets error', e)
os.system('pause')
作者:编程gogogo
链接:https://www.pythonheidong.com/blog/article/263243/224341b419c197363c9b/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!