json数据格式

之后肯定会用到json格式的数据训练模型,现在先记录一下json数据的格式:

{
  "data_root": "datasets/data/train",
  "data_list": [
    {
      "img_name": "X00016469670.jpg",
      "annotations": [
        {
          "polygon": [
            [
              98.0,
              26.0
            ],
            [
              321.0,
              26.0
            ],
            [
              321.0,
              66.0
            ],
            [
              98.0,
              66.0
            ]
          ],
          "text": "TAN CHAY YEE",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              138.0,
              95.0
            ],
            [
              279.0,
              95.0
            ],
            [
              279.0,
              120.0
            ],
            [
              138.0,
              120.0
            ]
          ],
          "text": "*** COPY ***",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              80.0,
              119.0
            ],
            [
              329.0,
              119.0
            ],
            [
              329.0,
              140.0
            ],
            [
              80.0,
              140.0
            ]
          ],
          "text": "OJC MARKETING SDN BHD",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              129.0,
              142.0
            ],
            [
              287.0,
              142.0
            ],
            [
              287.0,
              160.0
            ],
            [
              129.0,
              160.0
            ]
          ],
          "text": "ROC NO: 538358-H",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              104.0,
              163.0
            ],
            [
              306.0,
              163.0
            ],
            [
              306.0,
              182.0
            ],
            [
              104.0,
              182.0
            ]
          ],
          "text": "",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              123.0,
              185.0
            ],
            [
              286.0,
              185.0
            ],
            [
              286.0,
              205.0
            ],
            [
              123.0,
              205.0
            ]
          ],
          "text": "",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              116.0,
              205.0
            ],
            [
              292.0,
              205.0
            ],
            [
              292.0,
              223.0
            ],
            [
              116.0,
              223.0
            ]
          ],
          "text": " JOHOR",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              69.0,
              226.0
            ],
            [
              339.0,
              226.0
            ],
            [
              339.0,
              248.0
            ],
            [
              69.0,
              248.0
            ]
          ],
          "text": "TEL:07-388 2218 FAX:07-388 8218",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              110.0,
              249.0
            ],
            [
              300.0,
              249.0
            ],
            [
              300.0,
              272.0
            ],
            [
              110.0,
              272.0
            ]
          ],
          "text": "EMAIL:NG@OJCGROUP.COM",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              145.0,
              291.0
            ],
            [
              266.0,
              291.0
            ],
            [
              266.0,
              313.0
            ],
            [
              145.0,
              313.0
            ]
          ],
          "text": "TAX INVOICE",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              27.0,
              326.0
            ],
            [
              109.0,
              326.0
            ],
            [
              109.0,
              341.0
            ],
            [
              27.0,
              341.0
            ]
          ],
          "text": "INVOICE NO",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              116.0,
              322.0
            ],
            [
              259.0,
              322.0
            ],
            [
              259.0,
              343.0
            ],
            [
              116.0,
              343.0
            ]
          ],
          "text": ": PEGIV-1030765",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              25.0,
              347.0
            ],
            [
              72.0,
              347.0
            ],
            [
              72.0,
              365.0
            ],
            [
              25.0,
              365.0
            ]
          ],
          "text": "DATE",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              121.0,
              348.0
            ],
            [
              326.0,
              348.0
            ],
            [
              326.0,
              363.0
            ],
            [
              121.0,
              363.0
            ]
          ],
          "text": ": 15/01/2019 11:05:16 AM",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              20.0,
              369.0
            ],
            [
              84.0,
              369.0
            ],
            [
              84.0,
              387.0
            ],
            [
              20.0,
              387.0
            ]
          ],
          "text": "CASHIER",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              120.0,
              367.0
            ],
            [
              253.0,
              367.0
            ],
            [
              253.0,
              385.0
            ],
            [
              120.0,
              385.0
            ]
          ],
          "text": ": NG CHUAN MIN",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              29.0,
              390.0
            ],
            [
              180.0,
              390.0
            ],
            [
              180.0,
              408.0
            ],
            [
              29.0,
              408.0
            ]
          ],
          "text": "SALES PERSON : FATIN",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              27.0,
              412.0
            ],
            [
              71.0,
              412.0
            ],
            [
              71.0,
              429.0
            ],
            [
              27.0,
              429.0
            ]
          ],
          "text": "BILL TO",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              119.0,
              412.0
            ],
            [
              365.0,
              412.0
            ],
            [
              365.0,
              428.0
            ],
            [
              119.0,
              428.0
            ]
          ],
          "text": ": THE PEAK QUARRY WORKS",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              23.0,
              441.0
            ],
            [
              87.0,
              441.0
            ],
            [
              87.0,
              465.0
            ],
            [
              23.0,
              465.0
            ]
          ],
          "text": "ADDRESS",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              112.0,
              444.0
            ],
            [
              140.0,
              444.0
            ],
            [
              140.0,
              459.0
            ],
            [
              112.0,
              459.0
            ]
          ],
          "text": ":.",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              26.0,
              527.0
            ],
            [
              114.0,
              527.0
            ],
            [
              114.0,
              543.0
            ],
            [
              26.0,
              543.0
            ]
          ],
          "text": "DESCRIPTION",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              183.0,
              525.0
            ],
            [
              210.0,
              525.0
            ],
            [
              210.0,
              544.0
            ],
            [
              183.0,
              544.0
            ]
          ],
          "text": "QTY",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              231.0,
              526.0
            ],
            [
              274.0,
              526.0
            ],
            [
              274.0,
              544.0
            ],
            [
              231.0,
              544.0
            ]
          ],
          "text": "PRICE",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              295.0,
              528.0
            ],
            [
              357.0,
              528.0
            ],
            [
              357.0,
              544.0
            ],
            [
              295.0,
              544.0
            ]
          ],
          "text": "AMOUNT",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              22.0,
              550.0
            ],
            [
              105.0,
              550.0
            ],
            [
              105.0,
              564.0
            ],
            [
              22.0,
              564.0
            ]
          ],
          "text": "000000111",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              199.0,
              550.0
            ],
            [
              215.0,
              550.0
            ],
            [
              215.0,
              565.0
            ],
            [
              199.0,
              565.0
            ]
          ],
          "text": "1",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              217.0,
              549.0
            ],
            [
              271.0,
              549.0
            ],
            [
              271.0,
              566.0
            ],
            [
              217.0,
              566.0
            ]
          ],
          "text": "193.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              304.0,
              549.0
            ],
            [
              383.0,
              549.0
            ],
            [
              383.0,
              566.0
            ],
            [
              304.0,
              566.0
            ]
          ],
          "text": "193.00 SR",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              22.0,
              576.0
            ],
            [
              254.0,
              576.0
            ],
            [
              254.0,
              591.0
            ],
            [
              22.0,
              591.0
            ]
          ],
          "text": "KINGS SAFETY SHOES KWD B05",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              28.0,
              611.0
            ],
            [
              73.0,
              611.0
            ],
            [
              73.0,
              633.0
            ],
            [
              28.0,
              633.0
            ]
          ],
          "text": "QTY: 1",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              108.0,
              610.0
            ],
            [
              250.0,
              610.0
            ],
            [
              250.0,
              629.0
            ],
            [
              108.0,
              629.0
            ]
          ],
          "text": "TOTAL EXCLUDE GST:",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              299.0,
              613.0
            ],
            [
              354.0,
              613.0
            ],
            [
              354.0,
              629.0
            ],
            [
              299.0,
              629.0
            ]
          ],
          "text": "193.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              122.0,
              632.0
            ],
            [
              252.0,
              632.0
            ],
            [
              252.0,
              653.0
            ],
            [
              122.0,
              653.0
            ]
          ],
          "text": "TOTAL GST @6%:",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              319.0,
              633.0
            ],
            [
              357.0,
              633.0
            ],
            [
              357.0,
              652.0
            ],
            [
              319.0,
              652.0
            ]
          ],
          "text": "0.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              103.0,
              654.0
            ],
            [
              253.0,
              654.0
            ],
            [
              253.0,
              673.0
            ],
            [
              103.0,
              673.0
            ]
          ],
          "text": "TOTAL INCLUSIVE GST:",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              305.0,
              656.0
            ],
            [
              357.0,
              656.0
            ],
            [
              357.0,
              672.0
            ],
            [
              305.0,
              672.0
            ]
          ],
          "text": "193.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              158.0,
              675.0
            ],
            [
              251.0,
              675.0
            ],
            [
              251.0,
              691.0
            ],
            [
              158.0,
              691.0
            ]
          ],
          "text": "ROUND AMT:",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              319.0,
              674.0
            ],
            [
              357.0,
              674.0
            ],
            [
              357.0,
              691.0
            ],
            [
              319.0,
              691.0
            ]
          ],
          "text": "0.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              173.0,
              697.0
            ],
            [
              240.0,
              697.0
            ],
            [
              240.0,
              718.0
            ],
            [
              173.0,
              718.0
            ]
          ],
          "text": "TOTAL:",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              290.0,
              699.0
            ],
            [
              355.0,
              699.0
            ],
            [
              355.0,
              718.0
            ],
            [
              290.0,
              718.0
            ]
          ],
          "text": "193.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              145.0,
              729.0
            ],
            [
              231.0,
              729.0
            ],
            [
              231.0,
              745.0
            ],
            [
              145.0,
              745.0
            ]
          ],
          "text": "VISA CARD",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              304.0,
              729.0
            ],
            [
              356.0,
              729.0
            ],
            [
              356.0,
              746.0
            ],
            [
              304.0,
              746.0
            ]
          ],
          "text": "193.00",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              93.0,
              751.0
            ],
            [
              228.0,
              751.0
            ],
            [
              228.0,
              769.0
            ],
            [
              93.0,
              769.0
            ]
          ],
          "text": "XXXXXXXXXXXX4318",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              89.0,
              772.0
            ],
            [
              231.0,
              772.0
            ],
            [
              231.0,
              793.0
            ],
            [
              89.0,
              793.0
            ]
          ],
          "text": "APPROVAL CODE:000",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              34.0,
              843.0
            ],
            [
              371.0,
              843.0
            ],
            [
              371.0,
              866.0
            ],
            [
              34.0,
              866.0
            ]
          ],
          "text": "GOODS SOLD ARE NOT RETURNABLE & REFUNDABLE",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        },
        {
          "polygon": [
            [
              44.0,
              865.0
            ],
            [
              362.0,
              865.0
            ],
            [
              362.0,
              886.0
            ],
            [
              44.0,
              886.0
            ]
          ],
          "text": "****THANK YOU. PLEASE COME AGAIN.****",
          "illegibility": false,
          "language": "Latin",
          "chars": [
            {
              "polygon": [],
              "char": "",
              "illegibility": false,
              "language": "Latin"
            }
          ]
        }
      ]
    }
  ]
}

下面是一个json转icdar15标注的脚本,如果要用于自己的数据,可能还需要稍微改一下代码。

# -*- coding: utf-8 -*-
import glob
import os.path
import numpy as np
import shutil
import json
INPUT_PATH = "E:/card_data/card_autolabel/20200116"
 
def jsonTotxt(jsonfile):
	filename=os.path.split(jsonfile)[1].split('.')[0]
	savefile = os.path.join("E:/datasets/icdar",filename+'.txt')
	# read json
	#setting = []
	with open(jsonfile,'r') as f:
		b = f.read()
		#b = b.encode("utf-8-sig")
		data = json.loads(b)
	#print(data)
	with open(savefile,"a",encoding='utf-8') as f:
		for coordict in data['shapes']:
			coordlist = coordict['points']
			for point in coordlist:
				f.write(str(point).replace('[','').replace(']','')+',')
			f.write('###'+'\n')
		
	
sub_dirs = [x[0] for x in os.walk(INPUT_PATH)]
print(sub_dirs)
is_rootdir = True
for sub_dir in sub_dirs:
	if is_rootdir:
		is_rootdir = False
		continue
	
	extensions_images = ['jpg','JPG','jpeg','JPEG']
	extensions_labels = 'json'
	
	images_list = []
	#json_list = []
	#dir_name = os.path.basename(sub_dir)
	i = 0
	for extension in extensions_images:
		images_glob = os.path.join(INPUT_PATH,'*.'+extension)
		images_list.extend(glob.glob(images_glob))
		if not images_list:
			continue
		for image_list in images_list:
			shutil.copy(image_list,"E:/datasets/icdar/")
			i +=1
			if i%1000==0:
				print(i)
		
	json_glob = os.path.join(INPUT_PATH,'*.'+ extensions_labels)
	json_lists=glob.glob(json_glob)
	for json_list in json_lists:
		jsonTotxt(json_list)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花逐流水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值