当前位置:   article > 正文

YOLOv8-seg训练模型时:多边形json文件批量转txt代码_seg_json

seg_json
  1. # -*- coding: utf-8 -*-
  2. import json
  3. import os
  4. import argparse
  5. from tqdm import tqdm
  6. def convert_label_json(json_dir, save_dir, classes):
  7. json_paths = os.listdir(json_dir)
  8. classes = classes.split(',')
  9. for json_path in tqdm(json_paths):
  10. # for json_path in json_paths:
  11. path = os.path.join(json_dir, json_path)
  12. with open(path, 'r') as load_f:
  13. json_dict = json.load(load_f)
  14. h, w = json_dict['imageHeight'], json_dict['imageWidth']
  15. # save txt path
  16. txt_path = os.path.join(save_dir, json_path.replace('json', 'txt'))
  17. txt_file = open(txt_path, 'w')
  18. for shape_dict in json_dict['shapes']:
  19. label = shape_dict['label']
  20. label_index = classes.index(label)
  21. points = shape_dict['points']
  22. points_nor_list = []
  23. for point in points:
  24. points_nor_list.append(point[0] / w)
  25. points_nor_list.append(point[1] / h)
  26. points_nor_list = list(map(lambda x: str(x), points_nor_list))
  27. points_nor_str = ' '.join(points_nor_list)
  28. label_str = str(label_index) + ' ' + points_nor_str + '\n'
  29. txt_file.writelines(label_str)
  30. if __name__ == "__main__":
  31. """
  32. python json2txt_nomalize.py --json-dir my_datasets/color_rings/jsons --save-dir my_datasets/color_rings/txts --classes "cat,dogs"
  33. """
  34. parser = argparse.ArgumentParser(description='json convert to txt params')
  35. parser.add_argument('--json-dir', type=str,default='F:/DL/Pytorch/yolov8/ultralytics-seg/data/skinning/json', help='json path dir')
  36. parser.add_argument('--save-dir', type=str,default='F:/DL/Pytorch/yolov8/ultralytics-seg/data/skinning/txt' ,help='txt save dir')
  37. parser.add_argument('--classes', type=str, default='skinning',help='classes')
  38. args = parser.parse_args()
  39. json_dir = args.json_dir
  40. save_dir = args.save_dir
  41. classes = args.classes
  42. convert_label_json(json_dir, save_dir, classes)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/474293
推荐阅读
相关标签
  

闽ICP备14008679号