python打乱voc数据集顺序

python打乱voc数据集顺序,第1张

概述python打乱voc格式深度学习数据顺序由于自己制作的深度学习数据集大都是一类一类在一起,可能对训练效果有影响,故需要打乱本方法针对voc数据集使用,不知道其他格式是否适用由于本方法是采用文件在文件夹中的索引号进行打乱,务必保证xml和jpg格式的文件是一一对应,一个不多一 python打乱voc格式深度学习数据集顺序

由于自己制作的深度学习数据集大都是一类一类在一起,可能对训练效果有影响,故需要打乱
本方法针对voc数据集使用,不知道其他格式是否适用
由于本方法是采用文件在文件夹中的索引号进行打乱,务必保证xml和jpg格式的文件是一一对应,一个不多一个不少。
代码如下,只需修改输入路径和输出路径,好用请点个赞!

import numpy as npimport cv2import osimport randomimport xml.etree.ElementTree as ET//原始图片路径和xml文件路径image_root = 'C:/Users/Desktop/test/JPEGImages/'xml_root='C:/Users/Desktop/test/Annotations/'image_List = os.Listdir(image_root)xml_List=os.Listdir(xml_root)//打乱后的输出图片路径和xml文件路径image_output = 'C:/Users/Desktop/output/JPEGImages/'xml_output='C:/Users/Desktop/output/Annotations/'index = [i for i in range(len(image_List))]print(len(image_List))print(len(xml_List))random.shuffle(index)a=np.array(index)num=1for i in a:    img_name=image_List[i]    xml_name=xml_List[i]    print('修改第', i , '个','   生成第',num,'个')    img_path = image_root + img_name    xml_path =  xml_root+xml_name    I = cv2.imread(img_path)    xmlDoc = ET.parse(xml_path)    img_save_path = image_output + str(num) + '.jpg'    xml_save_path = xml_output+str(num)+'.xml'    cv2.imwrite(img_save_path, I)    xmlDoc.write(xml_save_path, 'utf-8', True)    num+=1
总结

以上是内存溢出为你收集整理的python打乱voc数据集顺序全部内容,希望文章能够帮你解决python打乱voc数据集顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1188422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存