diff options
Diffstat (limited to 'live-mogrify.py')
| -rw-r--r-- | live-mogrify.py | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/live-mogrify.py b/live-mogrify.py index 9330161..c106045 100644 --- a/live-mogrify.py +++ b/live-mogrify.py @@ -156,6 +156,23 @@ def list_sequences(module): }) return results +def load_frame(opt, index): + A_path = os.path.join(opt.render_dir, "frame_{:05d}.png".format(index)) + if not os.path.exists(A_path): + return None + A_img = Image.open(A_path).convert('RGB') + A = self.transform(A_img) + # if self.opt.which_direction == 'BtoA': + # input_nc = self.opt.output_nc + # else: + # input_nc = self.opt.input_nc + + # if input_nc == 1: # RGB to gray + # tmp = A[0, ...] * 0.299 + A[1, ...] * 0.587 + A[2, ...] * 0.114 + # A = tmp.unsqueeze(0) + + return {'A': A, 'A_paths': A_path} + def read_sequence(path): print("> read sequence {}".format(path)) return sorted([f for f in glob.glob(os.path.join('./sequences/', module_name, path, '*.png'))]) @@ -238,8 +255,8 @@ def process_live_input(opt, data_opt, rpc_client, model): if data_opt.processing: print("Already processing...") data_opt.processing = True - data_loader = CreateRecursiveDataLoader(opt) - dataset = data_loader.load_data() + # data_loader = CreateRecursiveDataLoader(opt) + # dataset = data_loader.load_data() create_render_dir(opt) sequence = read_sequence(data_opt.sequence_name) @@ -260,9 +277,17 @@ def process_live_input(opt, data_opt, rpc_client, model): print("generating...") sequence_i = 1 - for i, data in enumerate(data_loader): + i = 0 + #for i, data in enumerate(data_loader): + while True: + i += 1 if i >= opt.how_many: break + + data = load_frame(opt, i) + if data is None: + break + if data_opt.load_checkpoint is True: model.save_dir = os.path.join(opt.checkpoints_dir, opt.module_name, data_opt.checkpoint_name) model.load_network(model.netG, 'G', data_opt.epoch) @@ -368,7 +393,7 @@ def process_live_input(opt, data_opt, rpc_client, model): if data_opt.pause: data_opt.pause = False break - gevent.sleep(0) + gevent.sleep(data_opt.frame_delay) data_opt.processing = False rpc_client.send_status('processing', False) |
