def __init__(self, data_dir, data_type, input_dir, positive_output_dir, negative_output_dir, debug=False): self.coco_utils = CocoUtils(data_dir, data_type) self.images_dir = '%s/annotations/%s/' % (data_dir, input_dir) self.window_size = input_pic_size self.max_object_size = max_centered_object_dimension self.debug = debug self.positive_output_dir = positive_output_dir self.negative_output_dir = negative_output_dir self.empty_mask = Image.new('L', (input_pic_size, input_pic_size), mask_pic_true_color)
im = coco_utils.get_annotation_image(anns[ann_num], img['width'], img['height']) im_path = str.format('../Results/%s_%s_%s.jpg' % (img_id, ann_num, centered_text)) im.save(im_path, 'JPEG') return len(anns) # these lines causes errors with ntdll. might also happen in showAnns, like in image 262148 # as an alternative, I use ImageDraw to manually calculate the mask # Rs = frPyObjects(ann['segmentation'], img['height'], img['width']) # masks = decode(Rs) imgs_to_test = 10 imgs_path = '../../annotations/images/' coco_utils = CocoUtils('../..', 'train2014') success = 0 current_img_i = 0 while success < imgs_to_test: pic_data = coco_utils.coco.imgs.items()[current_img_i] pic_id = pic_data[0] pic_path = imgs_path + pic_data[1]['file_name'] if os.path.isfile(pic_path): anns_found = test_img(pic_id, pic_path) print('Finished %s annotations in picture %s in %s' % (anns_found, pic_id, pic_path)) success += 1 current_img_i += 1
from CocoUtils import * import os data_dir = '../..' # coco_utils = CocoUtils(data_dir, 'val2014') coco_utils = CocoUtils(data_dir, 'train2014') image_ids_and_names = coco_utils.get_images_data() # images_dir = '%s/annotations/images_val/' % data_dir images_dir = '%s/annotations/images_train/' % data_dir for pic_data in image_ids_and_names: pic_id = pic_data['id'] pic_path = images_dir + pic_data['file_name'] if not os.path.isfile(pic_path): try: coco_utils.coco.download(images_dir, [pic_id]) except: pass # skip