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