python脚本,labelimg批量修改类别。labelimg中修改数据集的类别(索引)。如6类目标,但删除了其中一类,labelimg要求其余类别索引都要更改,以下代码批量修改。
def modify_txt_file(input_file, output_file):
# 定义映射关系
mapping = {'2': '1', '4': '2', '5': '3', '6': '4'} # 类别2修改为1,4修改为2以此类推
with open(input_file, 'r') as f:
lines = f.readlines()
modified_lines = []
for line in lines:
parts = line.strip().split()
if parts[0] in mapping:
parts[0] = mapping[parts[0]]
modified_line = ' '.join(parts) + '\n'
modified_lines.append(modified_line)
with open(output_file, 'w') as f:
f.writelines(modified_lines)
if __name__ == "__main__":
input_folder = "input_folder_path" # 输入文件地址
output_folder = "output_folder_path" # 输出地址
for filename in os.listdir(input_folder):
if filename.endswith(".txt"):
input_file = os.path.join(input_folder, filename)
output_file = os.path.join(output_folder, filename)
modify_txt_file(input_file, output_file)