예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
               , 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)
예제 #4
0
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')