1
\$\begingroup\$

I'm making a timelapse sequence on my iPhone 5s. It looks good enough when it's bright outside, but when the sun sets, the video quality really suffers due to the poor low-light performance of the camera.

I wanted to check if it's possible to merge a dozen or so adjacent photos into one, with median blending, to reduce the noise. This reduces the number of photos by 12x, but keeps the resolution the same.

This should have another positive side-effect, which is fixing the extremely abrupt and unnerving movement of people and vehicles that you see in timelapse videos.

Is there software that can do this? I'm looking at Mac software, not command-line, and either free or cheap (like $20, not like $100). I already have Lightroom, iPhoto, Picasa and iMovie. I'm also looking at a one-click tool, not something involved that requires me to make multiple attempts with different settings to see what works well.

The timelapse app I'm using can either generate 4K video or a sequence of photos, which I'm looking to use as input to the noise-reduction tool.

\$\endgroup\$

1 Answer 1

4
\$\begingroup\$

I'm not aware of any one-click utility for this, nor anything that can run off a video stream directly, but if you were to export the individual frames to images first, there's a bunch of ways to get averages (either median or mean) from a stack of images.

You'd most likely be looking at selecting each stack one-by-one and averaging into single frames, then merging them back to the video stream afterwards.

  • Photomatix (best known for its HDR capabilities) can also do averaging of multiple shots
  • You can merge a Smart Object in photoshop into an average value (mean or median)
  • Gimp, Pixelmator & Acorn all support layers, so there's a possibility they can merge those into a mean/median (I'm not overly familiar with them though)

If you wanted to maintain the frame-rate, you could, for each frame, average it with the 5 shots before and 5 after; a kind of rolling-average if you will. You'd probably need to script that to maintain any kind of sanity though—though I note you're not after anything too complex.

enter image description here
^^Rolling average with three frames.

For anyone looking for a more advanced method, this could probably be done in Matlab if you happen to have access to it (its got good, simple image importing and can do fairly arbitrary maths on images as 2D arrays). Alternatively image-magick can be used for some scripted averaging.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ added a picture I just made for the "rolling average" if you don't mind. Just rollback to your original if you don't like it. \$\endgroup\$ Commented Jan 9, 2014 at 6:35
  • \$\begingroup\$ The rolling average is an interesting idea, but won't it be noisier than my suggestion, which is a non-rolling average, that reduces the duration of the video? I'll correspondingly decrease the time between two shots in the timelapse app. That way, I'm capturing more light, which should reduce noise. The conclusion of this train of thought seems to be to capture as many photos ,and therefore as much light, as possible, subject, of course, to the law of diminishing returns. \$\endgroup\$ Commented Jan 9, 2014 at 6:43
  • 1
    \$\begingroup\$ @KartickVaddadi - A captured frame is not "consumed" in image stacking, it is quite allright to reuse the same frames as suggested in the answer. \$\endgroup\$ Commented Jan 9, 2014 at 7:21
  • \$\begingroup\$ @KartickVaddadi - the point of averaging multiple frames is that noise is random while signal is consistent. You could in fact take more than just the 3 frames for the rolling average as well and weight them, but this would be more complex. (The closest frames would have the most impact, with frames further out having less and less impact.) The trick is to make sure that you don't get too much distortion to the signal from actual changes in the scene while blending away the random noise as much as possible. Each photo is still unique when rolling, so it works fine. \$\endgroup\$
    – AJ Henderson
    Commented Jan 9, 2014 at 13:34
  • \$\begingroup\$ I don't think there's any down-sides to a rolling average when compared to the reduced-frame-rate blocking average in the original question. The general down-sides to rolling averages are time-blurring, but if anything that's just going to help reduce flickering (in both light levels and people's appearance/movement). Any motion will fade in/out over the number of frames in the rolling window, so as the window gets large (say 10-20 frames) you'll start to actually notice people/movements fade in/out over half a second or so. \$\endgroup\$ Commented Jan 10, 2014 at 0:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.