【问题标题】:Pi Camera exposure control using OpenCV使用 OpenCV 的 Pi 相机曝光控制
【发布时间】:2021-05-17 20:49:51
【问题描述】:

我使用的是 Raspberry Pi V2.1 相机。我想使用 OpenCV 控制相机的曝光时间、快门速度等。我正在关注视频 I/O 文档的 OpenCV 标志。链接在这里:

https://docs.opencv.org/3.4/d4/d15/group__videoio__flags__base.html

例如:

我尝试过使用

cv2.CAP_PROP_AUTO_EXPOSURE = 0.25 and 0.75

似乎自动曝光正在打开和关闭。但是当我尝试使用手动设置值时

cv2.CAP_PROP_EXPOSURE = -1 to -13 (according to some online blogs)

相机没有响应。

其他标志也是如此。他们中的大多数似乎根本没有回应。 我已阅读在线文档并了解标志取决于相机。在这种情况下,OpenCV 文档根本没有帮助。

所以我的问题是如何找出对 Pi 相机有用的标志以及这些标志的有效值是什么?

提前谢谢你。

【问题讨论】:

    标签: python opencv-python picamera


    【解决方案1】:

    我不是该主题的专家,但我设法手动设置带有相机 v2.1 的 RPi 4 的曝光。 我将 CAP_PROP_AUTO_EXPOSURE 设置为 0.75,将 CAP_PROP_EXPOSURE 设置为 0。这给我留下了一个黑框(正如我猜想的那样)。增加曝光值会产生逐渐变亮的图像。对于高于 80 的值,它不再变得更亮。

    此代码在每个显示帧后逐渐增加曝光并为我工作:

    import cv2
    
    # Open Pi Camera
    cap = cv2.VideoCapture(0)
    # Set auto exposure to false
    cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.75)
    
    exposure = 0
    while cap.isOpened():
        # Grab frame
        ret, frame = cap.read()
        # Display if there is a frame
        if ret:
            cv2.imshow('Frame', frame)
            if cv2.waitKey(25) & 0xFF == ord('q'):
                break
        # Set exposure manually
        cap.set(cv2.CAP_PROP_EXPOSURE, exposure)
        # Increase exposure for every frame that is displayed
        exposure += 0.5
    
    # Close everything
    cap.release()
    cv2.destroyAllWindows()
    

    干杯,

    西蒙

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      相关资源
      最近更新 更多