V4L2 помогите в настройках камеры

Я хотел бы изменить ирисовую диафрагму, время экспозиции и параметр iso, используя v4l2 lib в linux.
Я никогда не использовал что-то подобное до сих пор.
Я обнаружил, что должен изменить это: 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";

После я хотел бы изменить эти три параметра камеры: диафрагму, время экспозиции и изо.

Но я не могу найти как …

2

Решение

Посмотрите на v4l2 расширенный контроль

После установки параметра 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-ctl управлять устройством v4l2.

1

Другие решения


По вопросам рекламы [email protected]