1
$\begingroup$

I'm getting strange moving shadow strips on my camera capture during a computer vision experiment:

shadow lanes in image

As the gif image above shows, those strips move to bottom slowly. I have also noticed that it happens only if I use a combination of ambient light and two 10 Watt LED spots aside the camera. Using only ambient light or only LED lights or ambient light plus a single LED spot the problem doesn't happen:

enter image description here

enter image description here

enter image description here

I'm using OpenCV to grab 320x240 images from the camera at 15 fps. The camera model is a Microsoft LifeCam Studio Q2F-00013. The 2 LED spots are like this one:

enter image description here

and power source is 220 volts at 60Hz.

I'm looking for a way to get rid of those shadows. Using v4l2-ctl I can see some camera controls to tune the camera:

$ v4l2-ctl -d 2 -l
                     brightness 0x00980900 (int)    : min=30 max=255 step=1 default=133 value=133
                       contrast 0x00980901 (int)    : min=0 max=10 step=1 default=5 value=5
                     saturation 0x00980902 (int)    : min=0 max=200 step=1 default=103 value=103
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature 0x0098091a (int)    : min=2500 max=10000 step=1 default=4500 value=4500 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=50 step=1 default=25 value=25
         backlight_compensation 0x0098091c (int)    : min=0 max=10 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute 0x009a0902 (int)    : min=1 max=10000 step=1 default=156 value=156 flags=inactive
               pan_absolute 0x009a0908 (int)    : min=-529200 max=529200 step=3600 default=0 value=0
              tilt_absolute 0x009a0909 (int)    : min=-432000 max=432000 step=3600 default=0 value=0
             focus_absolute 0x009a090a (int)    : min=0 max=40 step=1 default=0 value=8
                 focus_auto 0x009a090c (bool)   : default=1 value=0
              zoom_absolute 0x009a090d (int)    : min=0 max=317 step=1 default=0 value=0

But sincerily I don't know where to start to tweak it in order to remove those shadows.

EDIT:

According to this power_line_frequency=2 means 60 Hz which indeed is the power line frequency here. Playing with exposure_auto/exposure_absolute also don't provide any improvement. The only setting which worked so far have been setting brightness to 173. Anyway, I don't know if increasing the brightness is actually a robust solution.

enter image description here

$\endgroup$

2 Answers 2

1
$\begingroup$

Either the problem is simple and the powerline frequency is just set wrong. There is also a chance that the lights use PWM to drive the LEDs so they basically blink at high frequency that beats with the rolling shutter rate, so it is possible that those lights are unsuitable for cameras with rolling shutter.

$\endgroup$
1
0
$\begingroup$

The .gif result (2 Leds ON) should be a light beat (in sense of interference between two really close frequency). I think that if you divide the total light source power by a lot of tiny Led and light them all, you would have randomly shuffled this beating. And the more you add a high number of different Leds lights, the smaller resulting interference would be big and visible?

It's not a solution but it's a reason of why it causes that I think.

$\endgroup$

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.