import json
import os
def read_json(json_file):
with open(json_file,'r') as f:
load_dict = json.load(f)
f.close()
return load_dict
def json2txt(json_path,txt_path):
for json_file in os.listdir(json_path):
txt_name = txt_path+json_file[0:-5]+'.txt'
txt_file = open(txt_name, 'w')
json_file_path = os.path.join(json_path,json_file)
json_data = read_json(json_file_path)
imageWidth = json_data['imageWidth']
imageHeight = json_data['imageHeight']
for shape_dict in json_data['shapes']:
label = shape_dict['label']
if label=='WY':
index=0
else:
index=1
points = shape_dict['points']
points_nor_list = []
for point in points:
points_nor_list.append(point[0] / imageWidth)
points_nor_list.append(point[1] / imageHeight)
points_nor_list = list(map(lambda x: str(x), points_nor_list))
points_nor_str = ' '.join(points_nor_list)
label_str = str(index) + ' ' + points_nor_str + '\n'
print(label_str)
txt_file.writelines(label_str)
if __name__ == "__main__":
json_path = 'D:\\work\\AI\\ultralytics-8.2.63\\ultralytics\\assets\\imageJson\\'
txt_path = 'D:\\work\\AI\\ultralytics-8.2.63\\ultralytics\\assets\\imageTxt\\'
json2txt(json_path,txt_path)
labelme 生成的json 转yolov8训练txt
最新推荐文章于 2024-10-08 14:42:28 发布