由于自己制作的深度学习数据集大都是一类一类在一起,可能对训练效果有影响,故需要打乱
本方法针对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数据集顺序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)