Rename men_at_work to water_scene, crop and zoom IMG_2412.jpg for continuity
[stop_motion.git] / mean.py
1 #!/usr/bin/env python3
2
3 import gamma
4 import numpy
5 import sys
6
7 if len(sys.argv) < 3:
8   print(f'usage: {sys.argv[0]:s} in1.png ... inN.png out.png')
9   sys.exit(1)
10 in_pngs = sys.argv[1:-1]
11 out_png = sys.argv[-1]
12
13 images = []
14 for in_png in in_pngs:
15   print('read', in_png)
16   images.append(gamma.read_image(in_png))
17 images = numpy.stack(images, 0)
18
19 image = numpy.concatenate(
20   [
21     numpy.mean(images[:, :, :, :3], 0), # mean on RGB channels
22     numpy.product(images[:, :, :, 3:], 0) # and-operation on alpha channel
23   ],
24   2
25 )
26
27 print('write', out_png)
28 gamma.write_image(out_png, image)