labelme矩形框标注输出json文件批量转换为txt文件
时间: 2023-08-14 17:09:12 浏览: 139
read_json_读labelme生成json文件的标注框_
5星 · 资源好评率100%
你可以使用Python中的json和os模块来实现此功能。以下是一个基本的示例代码:
```python
import json
import os
# 输入文件夹
input_folder = "path/to/input/folder"
# 输出文件夹
output_folder = "path/to/output/folder"
# 遍历输入文件夹中所有的JSON文件
for filename in os.listdir(input_folder):
if filename.endswith(".json"):
# 读取JSON文件
with open(os.path.join(input_folder, filename), "r") as f:
data = json.load(f)
# 获取图像文件名和矩形框坐标
image_filename = data["imagePath"]
rectangles = data["shapes"]
# 构造输出文件名
txt_filename = os.path.splitext(image_filename)[0] + ".txt"
# 写入TXT文件
with open(os.path.join(output_folder, txt_filename), "w") as f:
for rectangle in rectangles:
x, y, w, h = rectangle["points"][0], rectangle["points"][1], rectangle["points"][2], rectangle["points"][3]
f.write("{},{},{},{},{}\n".format(x, y, w, h, rectangle["label"]))
```
在以上代码中,我们首先遍历输入文件夹中的所有JSON文件。然后,使用`json.load()`函数读取JSON文件并获取图像文件名和矩形框坐标。接下来,我们构造输出文件名,并使用`open()`函数创建一个新的TXT文件。最后,我们遍历每个矩形框,将其坐标和标签写入TXT文件中。
阅读全文