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";

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

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


person Marios Sampson Dimiou    schedule 28.09.2014    source источник


Ответы (1)


Взгляните на 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 устройство.

person mpromonet    schedule 24.10.2014