json转txt格式,X1,Y1图片中心坐标宽高 ,图片大小不同并归一化,python代码
时间: 2024-04-12 11:30:14 浏览: 84
python 将json数据提取转化为txt的方法
5星 · 资源好评率100%
以下是将JSON转换为TXT格式,并将坐标转换为图片中心坐标和宽高的Python代码示例:
```python
import json
import csv
def json_to_txt(json_file, txt_file):
with open(json_file, 'r') as f:
data = json.load(f)
with open(txt_file, 'w', newline='') as f:
writer = csv.writer(f, delimiter=',')
writer.writerow(['X', 'Y', 'Width', 'Height'])
for obj in data['objects']:
x1 = obj['x1']
y1 = obj['y1']
x2 = obj['x2']
y2 = obj['y2']
# 计算中心坐标
width = x2 - x1
height = y2 - y1
x = (x1 + x2) / 2
y = (y1 + y2) / 2
# 归一化处理
x /= data['width']
y /= data['height']
width /= data['width']
height /= data['height']
writer.writerow([x, y, width, height])
# 使用示例
json_file = 'input.json'
txt_file = 'output.txt'
json_to_txt(json_file, txt_file)
```
在上述代码中,我们首先读取JSON文件并加载数据。然后,我们按照给定的逻辑计算目标框的中心坐标和宽高。接下来,我们将这些值进行归一化处理,通过将它们除以图像的宽度和高度来实现。最后,我们将结果写入到TXT文件中。请确保将实际的JSON文件名和输出的TXT文件名替换为你自己的文件名。
阅读全文