species = { "Benthosema": ['Benthosema Glaciale', (70, 103)], "BlueWhiting": ['Micromesistius Poutassou', (220, 550)], "Herring": ['Clupea Harengus', (300, 440)], "Mackerel": ['Scomber Scombrus', (301, 601)] } objects, names, backgrounds = initialize(backgrounds_dir=args.backgrounds, classes_dir=args.classes, species_list=species) n = int(args.n) initial = int(args.i) if args.e == None: e = 6 else: e = int(args.e) print(args.o, args.m) for i in range(initial, n + initial + 1): print('n = ' + str(int(n)) + ' current = ' + str(i), end='\r') mkimage('test_%d' % int(i), objects, names, backgrounds, species, maxobjs=e, output_dir=args.o, mask_dir=args.m, single=args.single)
p.add_argument('-n', help='number of images to generate') p.add_argument('-e', default=6, help='max number of elements per image') p.add_argument('-o', help='directory to store generated images') p.add_argument('-t', default=None, help='template for filenames') p.add_argument('-m', '--masks', default=False, help='output per-instance masks') args = p.parse_args() if args.path_to_directory is not None: backgrounds_dir = os.path.join(args.path_to_directory, args.backgrounds) classes_dir = os.path.join(args.path_to_directory, args.classes) else: backgrounds_dir = args.backgrounds classes_dir = args.classes objects, names, backgrounds = initialize(backgrounds_dir, classes_dir) n = int(args.n) for i in range(1, int(n) + 1): mkimage(args.t + '_%d' % int(i), objects, names, backgrounds, output_dir=args.o, maxobjs=args.e, single=args.single, masks=args.masks)
, help='number of images to generate') p.add_argument('-e', type=int, default = 6 , help='max number of elements per image') p.add_argument('-o' , help='directory to store generated images') args = p.parse_args() backgrounds_dir = os.path.join(args.path_to_directory, args.backgrounds) classes_dir = os.path.join(args.path_to_directory, args.classes) objects, names, backgrounds = initialize(backgrounds_dir, classes_dir) output_dir = os.path.join(args.path_to_directory, args.o) if not os.path.exists(output_dir): os.makedirs(output_dir) for i in range(1,args.n +1): mkimage(args.o+'_%d' % int(i), objects, names, backgrounds, output_dir=output_dir, maxobjs=args.e, single=args.single) filename = args.o + "_annotations.csv" txt_files = os.path.join(output_dir, '*.txt') # Convert txt files to one csv annotation file with open(os.path.join(args.path_to_directory, filename), 'w') as output_file: for txt_file in glob.glob(txt_files): with open(txt_file, "r") as input_file: in_txt = csv.reader(input_file, delimiter=',') out_csv = csv.writer(output_file, delimiter=',') out_csv.writerows(in_txt)
n = int(args.n) if args.e == None: e = 6 else: e = int(args.e) output_dir = os.path.join(args.path_to_directory, args.o) boxes = [] image = [] for i in range(1, int(n) + 1): if i % 100 == 0: print(i) b, im = mkimage(str(i - 1), objects, names, backgrounds, output_dir=output_dir, maxobjs=e, single=args.single) boxes.append(b) image.append(im) boxes = np.asarray(boxes) images = np.asarray(image) print("done creating") np.savez_compressed("data.npz", boxes=boxes, images=images) print("done saving") filename = args.o + "_annotations.csv" txt_files = os.path.join(output_dir, '*.txt')