Spaces:
Runtime error
Runtime error
# Copyright (c) OpenMMLab. All rights reserved. | |
import mmcv | |
def convert_annotations(image_infos, out_json_name): | |
"""Convert the annotation into coco style. | |
Args: | |
image_infos(list): The list of image information dicts | |
out_json_name(str): The output json filename | |
Returns: | |
out_json(dict): The coco style dict | |
""" | |
assert isinstance(image_infos, list) | |
assert isinstance(out_json_name, str) | |
assert out_json_name | |
out_json = dict() | |
img_id = 0 | |
ann_id = 0 | |
out_json['images'] = [] | |
out_json['categories'] = [] | |
out_json['annotations'] = [] | |
for image_info in image_infos: | |
image_info['id'] = img_id | |
anno_infos = image_info.pop('anno_info') | |
out_json['images'].append(image_info) | |
for anno_info in anno_infos: | |
anno_info['image_id'] = img_id | |
anno_info['id'] = ann_id | |
out_json['annotations'].append(anno_info) | |
ann_id += 1 | |
img_id += 1 | |
cat = dict(id=1, name='text') | |
out_json['categories'].append(cat) | |
if len(out_json['annotations']) == 0: | |
out_json.pop('annotations') | |
mmcv.dump(out_json, out_json_name) | |
return out_json | |