Serial Photo Merge is a python3 tool for computing the average of an unlimited number of images. Serial Photo Merge (ideally) do not load in memory all the images so it can work with a very big numbers of images. It is useful for creating a daylight very long exposure photography.
- Average of an unlimited number of images
- Remove extraneous elements given a collection of images
- RAW support
- Supprt for 16bit color depth (otput 16bit tiff)
Observation: The images that don't fit in size and color depth of the first image in the directory will be discarded during the process.
- Compute the average of the images in the directory "/myimagecollection/serial/" and save the result in the default file: "/tmp/out_merge.jpg"
> ./serial_photo_merge -d /myimagecollection/serial/
- Compute the average of the images in the directory "/myimagecollection/serial/" and save the result in "/tmp/r.tif" if the imput images are in RAW the resulting r.tif will be written in 16bit.
> ./serial_photo_merge -d /myimagecollection/serial/ -o /tmp/r.tif -ocd auto
- Force the output tif to 16bit:
> ./serial_photo_merge -d /myimagecollection/serial/ -o /tmp/r.tif -ocd 16
- Remove extraneous elements (slow at the moment; max 3 or 4 images)
> ./serial_photo_merge -d /myimagecollection/serial/ -o /tmp/r.jpg -a rePython 3
numpy: http://www.numpy.org/
scipy: https://www.scipy.org/
matplotlib: http://matplotlib.org/
rawpy: https://github.com/neothemachine/rawpy (optional)
imageio: https://github.com/imageio/imageio (optional)
usage: serial_photo_merge [-h] [-d DIR_IN] [-o OUT_IMAGE] [-ocd {8,16,auto}]
[-a {avg,average,re,remove_extraneous}]
optional arguments:
-h, --help
show this help message and exit
-d DIR_IN, --dir_in DIR_IN
set the input directory
-o OUT_IMAGE, --out_image OUT_IMAGE
set the output file (default: /tmp/out_merge.jpg )
-ocd {8,16,auto}, --out_color_depth {8,16,auto}
set the output colordepth [dafault: auto]
-a {avg,average,re,remove_extraneous}, --algorithm {avg,average,re,remove_extraneous}
select the algorithm:
avg|average: compute the average.
re|remove_extraneous: remove extraneous elements
The following image has been produced by combining more than 100 images and about 350 seconds of total exposure.