summaryrefslogtreecommitdiff
path: root/scripts/flow/diff.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/flow/diff.py')
-rw-r--r--scripts/flow/diff.py39
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
+