diff options
Diffstat (limited to 'scripts/flow/diff.py')
| -rw-r--r-- | scripts/flow/diff.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/flow/diff.py b/scripts/flow/diff.py new file mode 100644 index 0000000..555f2f7 --- /dev/null +++ b/scripts/flow/diff.py @@ -0,0 +1,39 @@ +#!python3 + +from PIL import Image +import numpy as np +import os +import cv2 + +dir = 'IMG_1734/' +diff_dir = dir + 'diff/' + +if not os.path.exists(diff_dir): + os.mkdir(diff_dir) + +files = sorted([i.name for i in os.scandir(dir) if os.path.isfile(dir + i.name) and not i.name.startswith('.')]) + +last_im = None +k = 0 +for i, fn in enumerate(files): + pil_image = Image.open(dir + fn).convert('RGB') + im = np.array(pil_image) + + tmp_im = im.copy().astype('float64') + print("{} {}".format(i, fn)) + if last_im is not None: + im = (last_im - tmp_im) + im = cv2.normalize(im, None, 0, 255, cv2.NORM_MINMAX) + image_pil = Image.fromarray(im.astype('uint8'), mode='RGB') + image_pil.save(diff_dir + "frame_{:05}.png".format(i)) + + last_im = tmp_im.astype('float64') + +def fade_images(a, b, n): + for j in range(60): + r = j / 60 + im = a * (r) + b * (1-r) + image_pil = Image.fromarray(im.astype('uint8'), mode='RGB') + image_pil.save(diff_dir + "frame_{:05}.png".format(j+k)) + k += 60 + |
