V4L2: 가장 짧은 노출 시간으로 촬영한 이미지가 자동 노출 모드에서보다 훨씬 밝게 보이는 이유는 무엇입니까?

V4L2: 가장 짧은 노출 시간으로 촬영한 이미지가 자동 노출 모드에서보다 훨씬 밝게 보이는 이유는 무엇입니까?

기본 자동 노출 모드를 사용하여 이미지를 캡처하는 경우:

$ v4l2-ctl -d0 --set-fmt-video=width=width,height=height,pixelformat=MJPG --stream-mmap --stream-to=auto_expo.jpg --stream-count=1

auto_expo.jpg는 다음을 보여줍니다:

여기에 이미지 설명을 입력하세요.

그러나 수동 노출을 사용하여 이미지를 촬영할 때는 가능한 가장 짧은 노출 값 4를 사용하십시오.

$ v4l2-ctl -d0 -c exposure_auto=1
$ v4l2-ctl -d0 -c exposure_absolute=4

$ v4l2-ctl -d0 --set-fmt-video=width=width,height=height,pixelformat=MJPG --stream-mmap --stream-to=manual_expo.jpg --stream-count=1

Manual_expo.jpg 표시

여기에 이미지 설명을 입력하세요.

이전 V4L2 값:

$ v4l2-ctl -d0 --list-ctrls
                     brightness 0x00980900 (int)    : min=0 max=15 step=1 default=8 value=8
                       contrast 0x00980901 (int)    : min=0 max=15 step=1 default=8 value=8
                     saturation 0x00980902 (int)    : min=0 max=15 step=1 default=7 value=7
                            hue 0x00980903 (int)    : min=-10 max=10 step=1 default=0 value=0
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=1 max=10 step=1 default=7 value=7
                           gain 0x00980913 (int)    : min=0 max=0 step=0 default=0 value=0
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=1 default=2800 value=2800 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=15 step=1 default=6 value=6
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute 0x009a0902 (int)    : min=4 max=5000 step=1 default=625 value=625 flags=inactive
                 focus_absolute 0x009a090a (int)    : min=0 max=21 step=1 default=16 value=16 flags=inactive
                     focus_auto 0x009a090c (bool)   : default=1 value=1

후속 V4L2 값:

$ v4l2-ctl -d0 --list-ctrls

                     brightness 0x00980900 (int)    : min=0 max=15 step=1 default=8 value=8
                       contrast 0x00980901 (int)    : min=0 max=15 step=1 default=8 value=8
                     saturation 0x00980902 (int)    : min=0 max=15 step=1 default=7 value=7
                            hue 0x00980903 (int)    : min=-10 max=10 step=1 default=0 value=0
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=1 max=10 step=1 default=7 value=7
                           gain 0x00980913 (int)    : min=0 max=0 step=0 default=0 value=0
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=1 default=2800 value=2800 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=15 step=1 default=6 value=6
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=1
              exposure_absolute 0x009a0902 (int)    : min=4 max=5000 step=1 default=625 value=4
                 focus_absolute 0x009a090a (int)    : min=0 max=21 step=1 default=16 value=16 flags=inactive
                     focus_auto 0x009a090c (bool)   : default=1 value=1

답변1

exposure_absolute 0x009a0902 (int)    : min=4 max=5000 step=1 default=625 value=4

이는 노출이 다음에서 비롯됨을 나타냅니다.1/4둘째1/5000두 번째는 사용 가능합니다. 실제로 가장 짧은 노출이 아닌 가장 긴(4=>1/4) 노출을 선택합니다.

답변2

카메라에 OV5640 칩이 있습니까? Linux 시스템에서 이러한 카메라 칩을 사용하여 설명하는 동작을 정확하게 재현할 수 있습니다.

이상한 점: 동일한 카메라는 Windows 시스템의 밝기 설정에 전혀 문제가 없습니다 AForge.Video.DirectShow.

노출 속성 가져 오기 /설정은 다른 카메라에서 잘 작동하므로 근본 원인은 최소/최대 범위가 엉망이 될 수 있는 OV5640 칩의 구현 문제인 v4l2-ctl것 같습니다 .v4l2-ctl

관련 정보