应用场景:
在深度学习项目中,常常会处理各种数据集。比如已经标注好的数据标签有三类:人形、汽车、猫,有一个新项目,只需要识别人形,那就需要把这个数据集进行处理,删除另外两类的标签。本文拿yolo格式标签为例,如下图所示,我要提取7类中的一类。
python批量处理的脚本如下
思路就是:
1、把需要的行内容拷贝下来
2、把行内容首字符(也就是类别号)修改
3、新建txt文件,把需要的类别行再复制进去
import os
txtpath = r"F:\Driving_data\output"
new_txtpath = r"F:\Driving_data\output_new"
names_txt=os.listdir(txtpath)
for name in names_txt:
filepath = txtpath + "/" + name
filepath_new = new_txtpath + "/" + name
save_line_num = []
new_data = []
out_txt_path = os.path.join(filepath_new + '.txt')
file = open(filepath)
lines = file.readlines()
n = 0
for line in lines:
n += 1
if line.startswith("2") or line.startswith("1") or line.startswith("0"):
save_line_num.append(n-1)
for l in range(len(lines)):
if l not in save_line_num:
list_new = lines[l].split(' ')
temp = int(list_new[0])
if temp == 3:
list_new[0] = '0'
list_string = ' '.join(list_new)
print(list_string)
new_data.append(list_string)
file.close()
with open(filepath_new, "a+") as fn:
fn.writelines(new_data)
fn.close
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)