Я аннотировал некоторые видеокадры аннотатором VGG, который дает мне аннотации в формате JSON
, и хочу проанализировать его, чтобы извлечь нужные мне значения (координаты x, y).
Я просматривал другие публикации на этом сайтено ничто, кажется, не соответствует моему случаю, поскольку длина имени файла изменяется, т.е.номер кадра от 0 до 9, затем от 10 до 99, от 100 до 999, от 1000 до 9999, увеличивающийся на одну цифру.
Я пробовал import glob
и использовал диапазоны подстановочных знаков, одиночные символы и звездочки.
Мой код сейчас:
#Edited
while count < 1200:
x = data[key]['regions']['0']['shape_attributes']['cx']
y = data[key]['regions']['0']['shape_attributes']['cy']
pts = (x, y)
xy.append(pts)
count += 1
f = open("coordinates.txt", "w")
f.write(xy)
f.close()
JSON выглядит так:
"shape_attributes": {
"name": "point",
"cx": 400,
"cy": 121
},
"region_attributes": {}
}
}
},
"frame48.jpg78647": {
"fileref": "",
"size": 78647,
"filename": "frame48.jpg",
"base64_img_data": "",
"file_attributes": {},
"regions": {
"0": {
"shape_attributes": {
"name": "point",
"cx": 404,
"cy": 114
},
"region_attributes": {}
}
}
Редактировать: Я собираюсь преобразовать файл JSON в .txt
файл и проанализировать его вполучить мои значения, поскольку я понятия не имею, как сделать это прямо сейчас.
Я попытался преобразовать строку и проанализировать строку, как показано ниже: Это позволило получить только координаты x, y (3 цифры), добавленныев список, который я собираюсь преобразовать в список кортежей (x, y) и распечатать в текстовый файл для последующего использования в качестве меток для нейронной сети, где я отслеживаю координаты теннисного мяча на теннисных матчах по телевизору.
xy.append(re.findall(r'\b\d\d\d\b', datatxt))