1 Star 0 Fork 0

Stars-Chan/AlmightyPython

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
json_txt.py 1.33 KB
一键复制 编辑 原始数据 按行查看 历史
Stars-Chan 提交于 2021-07-04 01:26 . Initial commit
import os
import json
json_dir = 'train_annos.json' # json文件路径
out_dir = 'output/' # 输出的 txt 文件路径
def main():
# 读取 json 文件数据
with open(json_dir, 'r') as load_f:
content = json.load(load_f)
# 循环处理
for t in content:
tmp = t['name'].split('.')
filename = out_dir + tmp[0] + '.txt'
if os.path.exists(filename):
# 计算 yolo 数据格式所需要的中心点的 相对 x, y 坐标, w,h 的值
x = (t['bbox'][0] + t['bbox'][2]) / 2 / t['image_width']
y = (t['bbox'][1] + t['bbox'][3]) / 2 / t['image_height']
w = (t['bbox'][2] - t['bbox'][0]) / t['image_width']
h = (t['bbox'][3] - t['bbox'][1]) / t['image_height']
fp = open(filename, mode="r+", encoding="utf-8")
file_str = str(t['category']) + ' ' + str(round(x, 6)) + ' ' + str(round(y, 6)) + ' ' + str(round(w, 6)) + \
' ' + str(round(h, 6))
line_data = fp.readlines()
if len(line_data) != 0:
fp.write('\n' + file_str)
else:
fp.write(file_str)
fp.close()
# 不存在则创建文件
else:
fp = open(filename, mode="w", encoding="utf-8")
fp.close()
if __name__ == '__main__':
main()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Stars-Chan/AlmightyPython.git
git@gitee.com:Stars-Chan/AlmightyPython.git
Stars-Chan
AlmightyPython
AlmightyPython
master

搜索帮助