日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Json转换为txt

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Json转换为txt 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:代碼是以FLIR數據集為目的進行的編寫,但是也可以使用其它進行編寫

from __future__ import print_function import argparse import glob import os import jsonif __name__ == '__main__':# 命令行打印參數parser = argparse.ArgumentParser()parser.add_argument("path", help='Directory of json files containing annotations') # json文件路徑parser.add_argument("output_path", help='Output directory for image.txt files') # 生成的txt保存路徑args = parser.parse_args()# os.path.join 合并路徑# glob.glob 獲取所有匹配的路徑json_files = sorted(glob.glob(os.path.join(args.path, '*.json'))) # 得到json文件路徑下的所有json文件for json_file in json_files:with open(json_file) as f:data = json.load(f) # 將json文件轉化為字典images = data['images']annotations = data['annotations']# 圖片w h,為歸一化作準備width = 640.0height = 512.0for i in range(0, len(images)):converted_results = []for ann in annotations:if ann['image_id'] == i and ann['category_id'] <= 3: # FLIR數據集中只有1-3cat_id = int(ann['category_id'])# letf top為左下角坐標 bbox_width bbox_height為目標框長寬# 將bbox數值轉化為float類型left, top, bbox_width, bbox_height = map(float, ann['bbox'])# Yolo的id從0開始,FILIR從1開始cat_id -= 1# 求中心點坐標x_center, y_center = (left + bbox_width / 2, top + bbox_height / 2)# 歸一化x_rel, y_rel = (x_center / width, y_center / height)w_rel, h_rel = (bbox_width / width, bbox_height / height)converted_results.append((cat_id, x_rel, y_rel, w_rel, h_rel))image_name = images[i]['file_name']# 這里image_name是thermal_8_bit/FLIR_xxxxx.jpeg格式,我們文件名只需要FLIR_xxxxx部分image_name = image_name[14:-5]print(image_name) # 驗證是名稱否正確file = open(args.output_path + str(image_name) + '.txt', 'w+')file.write('\n'.join('%d %.6f %.6f %.6f %.6f' % res for res in converted_results))file.close()

運行方法:python 代碼文件名稱 json文件路徑 保存文件路徑

假設py文件名為jsontotxt,

python jsontotxt ./ ./

這樣運行沒有問題,保存文件路徑可能會存在文件,會把文件夾名字的前綴給修改,按我這樣是完全沒問題的,等有時間我會修改一下

總結

以上是生活随笔為你收集整理的Json转换为txt的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。