在将coco格式的文件转换为yolo读取格式过程中,下载了link:https://github.com/ultralytics/JSON2YOLO解压生成
修改general_json2yolo.py文件中的读取路径
if __name__ == "__main__":
source = "COCO"
if source == "COCO":
convert_coco_json(
"更改路径", # directory with *.json
use_segments=True,
cls91to80=True,
)
并运行,不报错但是在并不能在生成的new_dir/labels下生成txt文件。
解决办法:在
def convert_coco_json中的#write下插入能检测是否生成txt文件,如果没有则生成该txt文件的代码:os.makedirs(os.path.dirname((fn / f).with_suffix(".txt")), exist_ok=True)后
# Write
os.makedirs(os.path.dirname((fn / f).with_suffix(".txt")), exist_ok=True)
with open((fn / f).with_suffix(".txt"), "a") as file:
for i in range(len(bboxes)):
line = (*(segments[i] if use_segments else bboxes[i]),) # cls, box or segments
file.write(("%g " * len(line)).rstrip() % line + "\n")
能成功运行!