def get_mask(mask_file_name, real_img, opt):
    mask = functions.read_image_dir(mask_file_name, opt)
    if mask.shape[3] != real_img.shape[3]:
        mask = imresize_to_shape(mask, [real_img.shape[2], real_img.shape[3]],
                                 opt)
    mask = functions.dilate_mask(mask, opt)
    return mask
Exemple #2
0
        if opt.train_mode == "editing":
            fixed_noise[0] = fixed_noise[0] + opt.noise_scaling * \
                                              functions.generate_noise([opt.nc_im, fixed_noise[0].shape[2],
                                                                        fixed_noise[0].shape[3]],
                                                                        device=opt.device)

        out = generate_samples(netG, reals_shapes, noise_amp, reconstruct=True)

        mask_file_name = '{}_mask{}'.format(opt.naive_img[:-4],
                                            opt.naive_img[-4:])
        if os.path.exists(mask_file_name):
            mask = functions.read_image_dir(mask_file_name, opt)
            if mask.shape[3] != out.shape[3]:
                mask = imresize_to_shape(mask, [out.shape[2], out.shape[3]],
                                         opt)
            mask = functions.dilate_mask(mask, opt)
            out = (1 - mask) * reals[-1] + mask * out
            functions.save_image('{}/{}_w_mask.jpg'.format(dir2save, _name),
                                 out.detach())
        else:
            print("Warning: mask {} not found.".format(mask_file_name))
            print("Harmonization/Editing only performed without mask.")

    elif opt.train_mode == "animation":
        print("Generating GIFs...")
        for _start_scale in range(3):
            for _beta in range(80, 100, 5):
                functions.generate_gif(dir2save,
                                       netG,
                                       fixed_noise,
                                       reals,