Skip to content

simon-r/SerialPhotoMerge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serial Photo Merge

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.

Features

  • 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)

How to

Take your photo-camera, a good quality tripod and, if necessary, an ND filter, mount the camera on the tripod and shot a lot of images of the same subject. After this you should use Serial Photo Merge for combining the images and obtaining the effect of a super long exposure; also in a full day light.

Advantages of Serial Photo Merge respect to the classical ND filters:

1. Improve the DR of your images. 2. Day light extreme long exposure. 3. Better flexibilty in settings the aperture and exposure time of your camera. 4. Better capacity in controlling situations with a difficult light.

Advantages of Serial Photo Merge respect to others software [like photoshop or imagemagik]

Photoshop and Imagemagik load into memory all the images before computing the average, so the maximal number of images is limited by your installed RAM. With Serial Photo Merge you can virtually process an unlimited number of images.

Example

Here's some usage examples of how to use Serial Photo Merge

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.

  1. 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/
  1. 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
  1. Force the output tif to 16bit:
> ./serial_photo_merge -d /myimagecollection/serial/ -o /tmp/r.tif -ocd 16
  1. Remove extraneous elements (slow at the moment; max 3 or 4 images)
> ./serial_photo_merge -d /myimagecollection/serial/ -o /tmp/r.jpg -a re

Requirements

Python 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)

Optional arguments


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

Image Example

The following image has been produced by combining more than 100 images and about 350 seconds of total exposure.

About

Merge an unlimited number of images into one

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages