# What algorithm can be used for deflickering timelapse shots?

What are deflicker algorithms used to deflicker stills that should be composed to a timelapse movie?

(Flickering caused by shutterspeed adjustments in sunset/sunrise shots...)

• Are you asking for a definition, or for specifics of algorithms, or for software recommendations? – MikeW Feb 4 '13 at 10:10
• I'm asking for a definition. So as: gather the avergage luminance of a stack of stills, than compute blahblah ;-) – matcauthon Feb 4 '13 at 10:13
• If you want an algorithm, I could right one in python. – Onlyjus Feb 4 '13 at 17:59

I have no idea what algorithms commercial software uses for this task, but I'll happily make one up for you:

1. Find the luminance of frame 0 by summing pixel values.

2. For each frame (i): subtract frame (i+1) from frame (i), take the mean of these delta values. To account for movement, remove any pixels with delta greater than some threshold (set based on the noise level) and recompute the mean delta. Add this delta to the luminance of image (i-1) and s

3. Now we should have an array of absolute brightness levels of each image in the sequence. For each value compute the moving average, that is replace value (i), with (sum(k = i-w to k = i+w) luminance(k)) / 2w for some window size w. Choose w based on the amount of flickering. For the first and last w frames of the sequence you can just use a constant target luminance (there aren't enough frames available to calculate an average).

4. Transform each image from it's original luminance to the new target luminance (the result of the moving average operation).

Do this independently for all colour channels and you'll also smooth any changes in colour.

If you like programing, I found a link to a python project that will do exactly what you want. It will also interpolate between frames if you are missing a couple.