Time Lapse Photography Using A Video Camera
As luck would have it, I ended up with a good quality video camera that I didn't really need. In a bid to make the most of this unwanted resource, I hacked together some simple software to let me dump still shots to a computer HD over Firewire, and collect and combine subsequent frames for a bit of trick photography.
This probably wasn't a new idea per se, but it coincided with another purpose of mine - to photograph the river Thames in a calm, mirror-like still state. Of course, as the river is always flowing, this isn't really possible. So, the obvious question I ended up with was; would a sample of a few hundred still frames of the river's rippled surface contain enough information about the surface reflection to allow for a digital approximation/reconstruction of a still, ripple-free surface?
First Implementation
In a bid boosted by a tripod and 20 mph winds, I captured a few minutes of test footage by the river. This gave me a few hundred frames of a static view of the reflection under Henley bridge (see Figure 1). All in all, 306 frames were captured.
![]() Figure 1. |
![]() Figure 2. |
![]() Figure 3. |
When every single pixel of every single frame were averaged into a single image (i.e. the final image comprised exactly 1/306ths of every unique image), the water surface looks rather smooth, but it lacks a crisp reflection (see Figure 2). Whereas pure averaging created neat effects, it became clear it wasn't going to do the job. A new method of combining pixel data from the dataset had to be implemented.
The initial hunch was, that if any single pixel location (X,Y) of the raw images were traversed through time, then a reasonable approximation of ripple-free reflection might be possible to generate by assuming that the "correct" reflection is more likely to be present in the dataset than any single "incorrect" reflection (because the skew occurs in several directions, whereas the ripple crests and troughs should in theory be quite consistent). Therefore, for every pixel in the image, the sequential transition was sampled and ordered into ranges of prevalency, with the most prevalent pixel (lightness, hue, saturation) ranges being assumed to be most representative of a "correct" reflection.
The initial experiments were prone to noise and other sampling artifacts, but when the sampling window was increased to a 5x5 window, imperfections were averaged out.
..and there it is! Not an entirely crisp shadow, but a far more accurate digital reproduction of a ripple-free surface reflection (Figure 3), generated from the reflection data present in 306 sequential source images.
Next Steps
- to accumulate more data to determine how many frames are required for a "perfect" reflection with current technique - to capture additional data of more complex surface reflections (underwater?) - to experiment with more complex reflection approximation models
Additional Artwork
![]() Original (frame 17 of 373) |
![]() Digital Surface Reconstruction |
This second digitally reconstructed shot of Henley bridge ended up with a "frozen" feel to it.
![]() Original (frame 73 of 416) |
![]() Digital Surface Reconstruction |
Another riverside shot from Henley-on-Thames, the mooring structure's reflection was approximated from 416 frames. Note that the reconstruction technique also cancelled out the moving branches at the top of the image.







