From 9a61719a820b98a64bfc52228e05721a043dc91b Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 21 Aug 2018 15:33:30 +0200 Subject: fade sequence --- .../modules/pix2pixhd/views/pix2pixhd.live.js | 5 +++ rpc/img_ops.py | 37 ++++++++++++---------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/app/client/modules/pix2pixhd/views/pix2pixhd.live.js b/app/client/modules/pix2pixhd/views/pix2pixhd.live.js index 2c89459..8cef4bd 100644 --- a/app/client/modules/pix2pixhd/views/pix2pixhd.live.js +++ b/app/client/modules/pix2pixhd/views/pix2pixhd.live.js @@ -156,6 +156,11 @@ class Pix2PixHDLive extends Component { name='sequence_skip' min={0} max={100} type='int' /> + 0 and data_opt.fade_sequence > 0: + sequence_frac *= (1.0 - (skip_i * data_opt.fade_sequence) / (data_opt.sequence_skip - 1)) + sequence_frac = max(0, min(sequence_frac, 1)) + if data_opt.recursive and last_im is not None: - if data_opt.sequence and len(sequence): + if data_opt.sequence and len(sequence) and sequence_frac > 0: A_img = Image.open(sequence_path).convert('RGB') A_im = np.asarray(A_img) - frac_a = data_opt.recursive_frac - frac_b = data_opt.sequence_frac + frac_a = recursive_frac + frac_b = sequence_frac frac_sum = frac_a + frac_b if frac_sum > 1.0: frac_a = frac_a / frac_sum @@ -138,29 +151,21 @@ def mix_next_image(opt, data_opt, rpc_client, im, i=0, sequence, sequence_i=0, s next_im = array_abc.astype('uint8') else: - frac_a = data_opt.recursive_frac - frac_b = 1.0 - frac_a - array_a = np.multiply(last_im.astype('float64'), frac_a) - array_b = np.multiply(im.astype('float64'), frac_b) - next_im = np.add(array_a, array_b).astype('uint8') + next_im = mix(data_opt.recursive_frac, last_im, im) if data_opt.recurse_roll != 0: last_im = np.roll(im, data_opt.recurse_roll, axis=data_opt.recurse_roll_axis) else: last_im = next_im.copy().astype('uint8') - elif data_opt.sequence and len(sequence): + elif data_opt.sequence and len(sequence) and sequence_frac > 0: A_img = Image.open(sequence_path).convert('RGB') A_im = np.asarray(A_img) - frac_b = data_opt.sequence_frac + sequence_frac = data_opt.sequence_frac if data_opt.transition: t = lerp(math.sin(i / data_opt.transition_period * math.pi * 2.0 ) / 2.0 + 0.5, data_opt.transition_min, data_opt.transition_max) - frac_b *= 1.0 - t - frac_c = 1.0 - frac_b - array_b = np.multiply(A_im.astype('float64'), frac_b) - array_c = np.multiply(im.astype('float64'), frac_c) - array_bc = np.add(array_b, array_c) - next_im = array_bc.astype('uint8') + sequence_frac *= 1.0 - t + next_im = mix(sequence_frac, A_im, im) else: last_im = im.copy().astype('uint8') -- cgit v1.2.3-70-g09d2