p.add_argument('-e', help='max number of elements per image') p.add_argument('-o', help='directory to store generated images') p.add_argument('-m', help='directory to store generated masks') p.add_argument('-i', help='index of first sample') args = p.parse_args() print(args) 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,
p.add_argument('-c', '--classes', default = 'crops' , help='directory containing element images, one subdirectory per class') p.add_argument('-s', '--single', action='store_true' , help='generate images containing one class elements only') p.add_argument('-n', type=int , 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: