Разобрать файл json из VoTT

Я хотел бы проанализировать JSON, сгенерированный Vott от Microsoft. Цель состоит в том, чтобы использовать эти данные с labelimg, который более прост в использовании (его XML-файл генерировать легче, чем json из vott).

Вот пример этого файла:

{
 "frames": {
  "2019_01_16_13_13_54.png": [
   {
    "x1": 918.9060308555399,
    "y1": 308,
    "x2": 1017.81206171108,
    "y2": 388.44776119402987,
    "width": 1640,
    "height": 1232,
    "box": {
     "x1": 918.9060308555399,
     "y1": 308,
     "x2": 1017.81206171108,
     "y2": 388.44776119402987
    },
    "UID": "ff641453",
    "id": 0,
    "type": "Rectangle",
    "tags": [
     "oiseau"
    ],
    "name": 1
   },
   {
    "x1": 263.36605890603087,
    "y1": 570.0298507462687,
    "x2": 396.7741935483871,
    "y2": 712.5373134328359,
    "width": 1640,
    "height": 1232,
    "box": {
     "x1": 263.36605890603087,
     "y1": 570.0298507462687,
     "x2": 396.7741935483871,
     "y2": 712.5373134328359
    },
    "UID": "877487f8",
    "id": 1,
    "type": "Rectangle",
    "tags": [
     "toto"
    ],
    "name": 2
   }
  ],
  "2019_01_16_13_19_06.png": [
   {
    "x1": 854.5021037868163,
    "y1": 314.8955223880597,
    "x2": 935.0070126227209,
    "y2": 422.92537313432839,
    "width": 1640,
    "height": 1232,
    "box": {
     "x1": 854.5021037868163,
     "y1": 314.8955223880597,
     "x2": 935.0070126227209,
     "y2": 422.92537313432839
    },
    "UID": "7d75a982",
    "id": 2,
    "type": "Rectangle",
    "tags": [
     "bille"
    ],
    "name": 1
   },
   {
    "x1": 1247.8260869565218,

Для разбора этого файла кажется, что одним из хороших решений является использование функции pandas json_normalize (). Но за исключением первого уровня "кадров" я не могу прочитать уровень каждого изображения.

импорт json из pandas.io.json импорт json_normalize

with open('Images.json', 'r') as f:
   print(type(f))
   jp = json.loads(f.read()) 
df = json_normalize(jp, 'frames')

но с df = json_normalize(jp, 'frames', [{'x1','y1','x2', 'y2'}]) у меня появляется ошибка "TypeError: элемент последовательности 0: ожидаемый экземпляр str, набор найден ".

Эта ссылка дает довольно хорошее объяснение на эту тему, но пока не может прогрессировать.

Не могли бы вы помочь мне? Спасибо вам

0 ответов

Другие вопросы по тегам