1.标注文件后处理子页面包含
(1)新增标注文件类别调整功能
读取源classes.txt,获取目标类别功能。
Classes.txt内容形如:
diaobao
zhanhao
diaobaohuishang
读取新的classes.txt,获取新的目标类别
给出标注文件类别调整信息
参考下述代码,对标注文件按照新的class.txt内的类别进行调整。重新保存新的标注文件
实现按照新的classes.txt的序号更新原来的标注文件序号。
//////
import os
def Make_txt(outfile):
out = open(outfile, 'w')
return out
#读取
root = 'C:\\D\\dataset\\BITVehicle_Dataset\\VehicleInfo.mat'
class_list=['Bus', 'Microbus', 'Minivan', 'Sedan', 'SUV', 'Truck']##通过读取获得原始和新的类名,yolo序号是从0开始的
yolo6_root="C:\\D\\dataset\\BITVehicle_Dataset\\labels\\"
##labels
yolo4_root='C:\\D\\dataset\\BITVehicle_Dataset\\labels_4cls\\'
# 遍历所有txt文件
txtlist=os.listdir(yolo6_root)
#print(os.listdir(yolo6_root))
for i, src_label_name in enumerate(txtlist):
file_path=yolo6_root+src_label_name
with open(file_path, 'r') as fr:
txtlines = fr.readlines()
cls=txtlines[0][0] #该文件的类
coor=txtlines[0][1:] #该文件的类
txt_new_name=yolo4_root+src_label_name
#print(cls)
#print(coor)
if cls=='5' : #变为可选的交互参数
cls_new='0'#变为可选的交互参数
out=Make_txt(txt_new_name)
out.write(str(cls_new) + " " + coor)
out.close()
#print(src_label_name)
else:
out=Make_txt(txt_new_name)
out.write(str(cls) + " " + coor)
out.close()
(2)图像标注文件批量重命名功能
读取图像路径和label路径
合理布局,保证内容能够自适应大小显示,不重叠。
文件命名中增加对图像文件夹路径下图片文件重新命名功能。
图像名定义文本框包括场景、平台、目标、采集距离、采集角度、地点、天气、时间等要素,格式为如ZB_SZwrj_Msanjiaozhui_N00001_D50_A30_P34LV_Wsunny_T20260508.jpg
要求,其中第一个参数场景应为大写,预选有KZ、DM、SY和自定义
第二个参数预选有SZwrj、SZwrc、SZwrt、SZwx、SPwrj、FZwrj和自定义输入
第三个参数为M+目标类别,预选为Mduomubiao、Msanjiaozhui(提供文件选择按钮,选择classes.txt读取类名加载进列表候选)(多目标命名为Mduomubiao)
第四个参数为N+图像序号,以同类型目标为计数标准。保持现有位数选择和递增递减功能。
参数五为D+距离(m)如D100、D1000
参数六为A+角度(°)如A90
参数七为P+地点,如P178LV
参数八为W+天气,如Wsunny
参数九为T+时间。如T20260508。
参数五后为可选参数(分辨率、格式。。。),可动态调整扩展增减,参数1-4为必须要素。
可自定义增加备选参数。