V4L2有助于相机设置

时间:2014-09-28 12:19:27

标签: c++ camera v4l2

我想在linux中使用v4l2 lib更改iris,曝光时间和iso参数。 直到现在我才从未使用过这样的东西 我发现我必须改变这个:V4L2_CID_EXPOSURE_AUTO;我会用这部分代码来做到这一点:

// open capture
int descriptor = v4l2_open("/dev/video0", O_RDWR);

// manual exposure control
v4l2_control c;
c.id = V4L2_CID_EXPOSURE_AUTO;
c.value = V4L2_EXPOSURE_MANUAL;
if(v4l2_ioctl(descriptor, VIDIOC_S_CTRL, &c) == 0)
    cout << "success";

我想更改这三个相机参数后:光圈,曝光时间和iso。

但我找不到......

1 个答案:

答案 0 :(得分:3)

查看v4l2 extended control

将V4L2_CID_EXPOSURE_AUTO参数设置为V4L2_EXPOSURE_MANUAL后,您可以使用V4L2_CID_EXPOSURE_ABSOLUTE和V4L2_CID_IRIS_ABSOLUTE来控制曝光和光圈。

要设置iso参数,需要将V4L2_CID_ISO_SENSITIVITY_AUTO设置为V4L2_CID_ISO_SENSITIVITY_MANUAL,然后可以设置V4L2_CID_ISO_SENSITIVITY。

您可以查看提供命令行工具v4l2-ctl的{​​{3}}来控制v4l2设备。