Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于OpenCV的Pi相机曝光控制_Python_Opencv Python_Picamera - Fatal编程技术网

Python 基于OpenCV的Pi相机曝光控制

Python 基于OpenCV的Pi相机曝光控制,python,opencv-python,picamera,Python,Opencv Python,Picamera,我使用的是Raspberry Pi V2.1摄像头。我想用OpenCV控制相机的曝光时间、快门速度等。我遵循视频I/O文档的OpenCV标志。链接如下: 例如: 我试过使用 cv2.CAP_PROP_AUTO_EXPOSURE = 0.25 and 0.75 似乎自动曝光正在打开和关闭。但是当我尝试使用手动设置值时 cv2.CAP_PROP_EXPOSURE = -1 to -13 (according to some online blogs) 摄像机没有反应 其他旗帜也是如此。他们中的

我使用的是Raspberry Pi V2.1摄像头。我想用OpenCV控制相机的曝光时间、快门速度等。我遵循视频I/O文档的OpenCV标志。链接如下:

例如:

我试过使用

cv2.CAP_PROP_AUTO_EXPOSURE = 0.25 and 0.75
似乎自动曝光正在打开和关闭。但是当我尝试使用手动设置值时

cv2.CAP_PROP_EXPOSURE = -1 to -13 (according to some online blogs)
摄像机没有反应

其他旗帜也是如此。他们中的大多数人似乎根本没有反应。 我已经阅读了在线文档,了解到标志与相机有关。在这种情况下,OpenCV文档根本没有帮助

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


提前谢谢。

我不是这方面的专家,但我成功地用照相机v2.1手动设置了RPi 4的曝光。 我将CAP_PROP_AUTO_曝光设置为0.75,CAP_PROP_曝光设置为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()
干杯

西蒙