File size: 1,216 Bytes
1d64201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

from pycocotools.coco import COCO
import json
from inovonics_ann_builder import InovonicsAnnotationBuilder as InovAnnBuild

def main(coco_source_path, inovonics_anns_dest_path, img_ids=[1]):
    coco = COCO(coco_source_path)
    if(len(img_ids) == 1):
        for img_id in img_ids:
            coco_img_to_inovonics_json(coco, inovonics_anns_dest_path, img_id)
    else:
        for img_id in img_ids:
            coco_img_to_inovonics_json(coco, inovonics_anns_dest_path[0:-5]+"_"+str(img_id)+".json", img_id)

    
def coco_img_to_inovonics_json(coco, inovonics_anns_dest_path, img_id=0):
    #iterate
    annotation_full_file = []
    count = 0
    for ann in coco.imgToAnns[img_id]:
        print(ann)
        inov_ann_build = InovAnnBuild()
        inov_ann_build.set_id(str(count))
        inov_ann_build.set_body("Room "+str(count))
        inov_ann_build.set_type("Selection")
        inov_ann_build.set_target("FragmentSelector","http://www.w3.org/TR/media-frags/",ann["bbox"])
        annotation_full_file.append(inov_ann_build.final_output())
        count+=1

    #save file
    coco_file = open(inovonics_anns_dest_path,'w')
    json.dump(annotation_full_file,coco_file,indent=4)
    coco_file.close()