|
For this example I'll use a series of four photos, each taken 20 minutes after the previous one.
In general, though, I use photos that are separated by five minutes, since this allows for smoother transitions. |
|
06:55
|
07:15
|
06:55 Contribution
|
07:15 Contribution
|
|
07:35
|
07:55
|
07:35 Contribution
|
07:55 Contribution
|
|
|
|
|
Basic Composite: Now the basic composite of these four images. Each photos contributes one quarter of the composite image. Since the banding of the images is fairly obvious at this point, the next thing I do is do a weighted average of the images. |
|
|
Basic blending: For this I take a basic set of weights, say [1, 3, 6, 3, 1], then any particular strip of the image is made up of 6 parts that image, 3 parts the following image, 1 part the image after that, 3 parts the previous image.... (Note: I actually use a set of weights that averages over more than an hour.) This results in much smoother transitions, but you can also lose some of the contrast if you don't have enough images before and after a major change in lighting conditions. (Such as sunrise.) |
|
|
Better time blending: Since the banding in the previous image is still obvious, next I do some more gradual time blending. Starting at a seam I blend an image with the one next to it, the farther from the seam you get, the less the other image contributes. Consider each band as being taken from a blended image as described in Basic Blending, to blend from a seam that occurs on the left of image[i] towards the right you would blend image[i] and image[i-1]. Right at the seam image[i] and image[i-1] would contribute equally, the farther from the seam you get the less image[i-1] will contribute.. (Note: Due to the large changes in the light conditions between each initial image, some banding is still visible. This is also exacerbated by the small number of input images.) |
|
|
The final product using 14 input images taken between 06:40 and 08:50 ![]() |
|
|
Here's a version of the same image with a white band thrown in between each image to highlight where each piece begins and ends. ![]() |
|
|
Since this is all done in Python, it is easy to change things around. Some things I've played around with but am too lazy to demonstrate are: - time dilation (each image contributes a different amount based on a function) - changing the direction of time flow - making the time blending based on a function Right now I'm working on added in time stamps to mark a few point in the image. |
|