D_ontory : 개발스토리

AI Hub 에서 제공하는 데이터셋으로 yolo custom 학습 진행 본문

Project

AI Hub 에서 제공하는 데이터셋으로 yolo custom 학습 진행

D_on 2023. 2. 23. 14:02
반응형

 

import sys
import os
import glob
import json

def json2txt(jsonfile) :
    tom = (item for item in json_data)
    dict = next(tom, False)
    ID = dict['Name']
    x = dict['Point(x,y)'].split(',')[0]
    y = dict['Point(x,y)'].split(',')[1]
    W = dict['W']
    H = dict['H']
    # print(ID+x+y+W,H)

    return ID, x, y, W, H
    
    
    
    
dir_path = "/content/drive/MyDrive/Colab Notebooks/yolo_data_preprocessing/mini_sample/"

def sum_class(path) :
  f_names = []
  for (root, directories, files) in os.walk(path):

      for file in files:
          
          if '.json' in file:
              file_path = os.path.join(root, file)
              filename = file_path.split("/")[-1]
              # print(root+"/"+filename)
              f_names.append(root+"/"+filename)
              break


  # print(f_names)
  return f_names

fnames = sum_class(dir_path)
# print(fnames)

all_class_list = []
for jsonfile in fnames:
  # print(jsonfile)  
  with open(jsonfile, 'r') as f:
    # print(f)
    filename = jsonfile.split(".")[0]
    json_data = json.load(f)
    unlist = (item for item in json_data)
    dict = next(unlist, False)
    print(dict)
    info_line = json2txt(dict)
    # print(info_line)
    # print(info_line[0])
    all_class_list.append(info_line[0])

print(all_class_list)

count = len(all_class_list)

j=0
for i in all_class_list :
  j+=1
  print(i)
  print(j)

print("----------")
for i in dict :
  # print(i)
  print(dict[i])
반응형
Comments