V4L2有助于相机设置

问题描述 投票:2回答:1

我想在linux中使用v4l2 lib来改变虹膜,曝光时间和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。

但是我找不到......

c++ camera v4l2
1个回答
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。

您可以查看提供命令行工具v4l-utils来控制v4l2设备的v4l2-ctl

© www.soinside.com 2019 - 2024. All rights reserved.