summaryrefslogtreecommitdiff
path: root/scripts/flow/diff.py
blob: 555f2f7af2f0b3b2d10e8ac4bda7259afe9f9906 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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