Is there a good image processing method to get rid of the horizontal stripes in the images taken under fluorescent lighting? These stripes (flicker) occur when you take pictures indoors due to the 50 Hz (Europe) or 60 Hz (US) AC line frequency, and they reflect in the image as twice of this frequency (either 100 Hz or 120 Hz). One commonly suggested way is to choose a synchronized shutter speed (exposure time) such as 1/50s (1/60s) but how would you go about it, if the pictures are taken at an arbitrary shutter speed and you want to fix it in the post-processing?

Here is an example picture that displays the phenomenon:

Horizontal stripes (flicker)

  • What kind of camera was used to take the photo? One with a rolling shutter?
    – Blrfl
    Jan 16 '15 at 14:12
  • 1
    Yes, I forgot to write that. It is Lumix GX7 with an electronic rolling shutter. With a mechanical shutter, you wouldn't see this effects. These stripes occur due to sequential reading of the lines. Jan 16 '15 at 18:39

I read that the Canon 7Dmk2 has a killer feature for sports lighting which times the exposure to synchronize with the lights.

To fix in post, try shooting a burst which will get the stipes in different positions on each frame. Stack them (auto-align) in Photoshop and use brightest choice for each pixel via blending mode and parameters.


It's almost impossible to remove them in post. You'd basically have to repaint the image digitally.

Choose a shutter speed that is slow enough to solve the problem in advance and in camera - it's always a better idea to solve problems as soon as practical.
Sadly, I don't know a good formula to determine the best speed, but you could just take a few test shots.

If you want to shoot at an arbitrary shutter speed, you have to use lights that are emitting continuously.

  • 1
    You could ignore the available light and use your own flash, just as if the nasty lighting was not present at all.
    – JDługosz
    Jan 17 '15 at 16:28
  • Detecting the required shutter speed is easy, it actually just depends on the AC line frequency of that country. For example, for 60 Hz (as in the US), the light frequency is 120 Hz, thus the highest shutter speed you can pick is 1/120s. You can also take integer multiples of that value, e.g. 1/60s, 1/30s, etc. In this way, you have the same average integration for each row (since you collect the same average amount of photons per row), hence no intensity variation (flickering) along the vertical direction. See here for a more detail explanation with a revealing graphic: Jan 18 '15 at 17:49

If the whole scene is illuminated by a single light source, it might be possible to create a "flat frame" by taking a picture of the uniform white background illuminated by that light source, and then using the flat frame to compensate your photo for uneven illumination (divide the photo by the flat frame in photoshop/gimp/other).

Preparing a good quality flat frame is normally difficult because it must be truly uniform, but in this case it would be easier because we can assume that:

  • each horizontal line will have exactly the same brightness (we can blur horizontally)
  • the whole frame will be of the same average brightness (can be achieved by removing high frequency components from the picture)

The flat frame would only work for photos having exactly the same exposure time and will need adjusting (shifting up or down) as the light-induced color pattern will start at different phase each time (but the pattern should be otherwise identical).

  • You could also do this without a flat frame using a photoshop curve/layers adjustment and a patterned mask (which would then be easily adjusted to match the phasing). But for the sake/time involved in getting it right in-camera it's a lot of effort. Jan 17 '15 at 11:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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