【问题标题】:How can set exposure time for DMM 27UJ003-ML camera using opencv如何使用 opencv 设置 DMM 27UJ003-ML 相机的曝光时间
【发布时间】:2017-09-13 17:44:03
【问题描述】:

我正在使用名为DMM 27UJ003-ML 的相机,并且可以通过this link 获得这些文件。这个摄像头有Brightness等一些功能,可以在OpenCV中设置,比如下面的代码

//Header 
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
   VideoCapture cap(0);   //Access to camera with ID = 0
   double brightness = cap.get(CV_CAP_PROP_BRIGHTNESS); // get value of brightness
   cout<<brightness<<endl;   //print brightness value in console
}

结果是0.5,没关系,我也可以设置Brightness,但是如果我想更改Exposure time,就会出现问题!!(Exposure time是另一个可以可变的相机属性)

int main()
{
    VideoCapture cap(0);
    cap.set(CV_CAP_PROP_EXPOSURE,0.1);
}

但是Exposure time不能以适当的方式设置,如果想使用get方法知道设置为Exposure time的值,结果很奇怪

VideoCapture cap(0);
double Exposure = cap.get(CV_CAP_PROP_EXPOSURE);
cout<<Exposure<<endl;

Exposure 的结果是inf 并且相机不响应外部环境(似乎Exposure time 实际上是inf)所以重置Exposure time的唯一方法是公司给我的软件我不知道如何在opencv中设置此功能

感谢您的帮助。

【问题讨论】:

标签: c++ opencv camera


【解决方案1】:

在开头添加如下代码:

cap.set(CV_CAP_PROP_AUTO_EXPOSURE,0.25);

0.25 表示“手动模式”。

【讨论】:

    【解决方案2】:

    如果你使用基于 Linux 的机器,你可以安装一个可以帮助你的包,它的名字是 v4l2ucp,这个包可以在 ubuntu 中通过下面的命令安装

    sudo apt install v4l2ucp
    

    这是一个使用出色的v4l2(通过安装v4l2ucp 无需再次安装v4l2)为您提供相机图形控制的包。如果您可以在v4l2ucp 中更改曝光时间,那么您可以在程序中使用v4l2

    您可以在 ubuntu 终端中通过以下命令获取有关相机的全部信息。

    v4l2-ctl --all
    

    在使用上述命令知道哪些参数可供您使用后,您可以更改该参数的值。例如我的输出如下所示

     brightness (int)    : min=-10 max=10 step=1 default=0 value=0
    

    您可以看到有一个相机变量,它的名称是亮度,默认值为 0,并且值有边界(最小值 = -10,最大值 = 10)所以我该如何设置这个值比如10?我可以通过以下命令执行此操作(请通过打开相机进行测试)

    v4l2-ctl --set-ctrl brightness=10
    

    在终端中执行此操作后,您可以看到相机的亮度变化。

    那么我们如何在Qt 编程中使用v4l2 命令呢?通过使用QProcess 类,此命令可让您在 Qt 程序中运行终端命令。我写一个简单的例子

     #include <QProcess>
     int main()
     {
         QProcess process;
         process.start("v4l2-ctl --set-ctrl brightness=10");
         pro.waitForFinished(-1);
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 2021-05-17
      • 2015-12-27
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多