Как получить метки из файла JSON и прикрепить их к изображениям - PullRequest
0 голосов
/ 30 марта 2019

Я не могу получить доступ к данным координат в файле json. Мне нужно пометить изображения с координатами X и Y из файла JSON. Моя цель - научить CNN распознавать эти ключевые точки по изображениям. Структура файла:

{
    "Labeled Data": "url",
    "Label": {
      "radius inclination angle": [
        {
          "geometry": {
            "x": 193,
            "y": 222
          }
        },
        {
          "geometry": {
            "x": 242,
            "y": 228
          }
        }
      ],
      "radioulnar ": [
        {
          "geometry": {
            "x": 244,
            "y": 227
          }
        },
        {
          "geometry": {
            "x": 250,
            "y": 225
          }
        }
      ],
      "scapholunar": [
        {
          "geometry": {
            "x": 224,
            "y": 217
          }
        },
        {
          "geometry": {
            "x": 219,
            "y": 217
          }
        }
      ]
    }
  },

Я пытался получить доступ к "x" и "y" следующим образом:

for item in data:
    for label in item['Label']['radiuksen inklinaatio']:
        for cordinates in label['geometry']:
            print(cordinates)

Код выше печатает только x и y, но без их значения. Если бы я мог получить значения, то я бы сделал новую метку только с координатами. Результат должен выглядеть следующим образом:

[
    {'label': '"x":219, "y"=217...', 'image': 'http://example.com/c1.jpg'},

    ...
]

Что я делаю не так

1 Ответ

0 голосов
/ 30 марта 2019

Вы можете использовать модуль JSON.

import json
with open('file.json', 'r') as file:
    data = json.load(file)

На случай, если вам нужно открыть файл.data - это вложенная комбинация списков и диктов в зависимости от конкретного файла.Вы можете получить доступ к его содержимому как стандартный список / dict.Например:

data['Label']['radius inclination angle'].append('smth') #use append if particular nested structutre is a list 
data['Label']['radius inclination angle'][0]['smth'] = '123'
print(data['Label']['radius inclination angle'])

Это выведет

[{'geometry': {'x': 193, 'y': 222}, 'smth': '123'}, {'geometry': {'x': 242, 'y': 228}}, 'smth']

Не совсем ясно, какой именно вывод вы пытаетесь получить из предоставленного примера.Но я надеюсь, что этого будет достаточно.Вы можете прочитать больше здесь https://docs.python.org/3/library/json.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...