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
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,