版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kris_fei/article/details/86712088
Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
曝光模式种类:
V4L2_EXPOSURE_AUTO | Automatic exposure time, automatic iris aperture. |
V4L2_EXPOSURE_MANUAL | Manual exposure time, manual iris. |
V4L2_EXPOSURE_SHUTTER_PRIORITY | Manual exposure time, auto iris. |
V4L2_EXPOSURE_APERTURE_PRIORITY | Auto exposure time, manual iris. |
得到默认曝光模式:
struct v4l2_queryctrl query_control;
query_control.id = V4L2_CID_EXPOSURE_AUTO;
ioctl(mCamFd, VIDIOC_QUERYCTRL, &query_control);
ALOGE("min:%d max:%d default:%d", query_control.minimum , query_control.maximum, query_control.default_value);
设置曝光模式:
struct v4l2_control control;
control.id =V4L2_CID_EXPOSURE_AUTO ;
control.value = V4L2_EXPOSURE_AUTO;
if (ioctl(mCamFd,VIDIOC_S_CTRL,&control))
ALOGE("VIDIOC_S_CTRL error");
设置是否成功取决于设备是否支持对应的模式。
得到曝光等级:
query_control.id = V4L2_CID_BRIGHTNESS;
ioctl(mCamFd, VIDIOC_QUERYCTRL, &query_control)
设置曝光等级:
control.id = V4L2_CID_BRIGHTNESS;
control.value = i; //i为query_control.minimum到query_control.maximum中的值
ioctl(mCamFd,VIDIOC_S_CTRL,&control)
参考:
Linux下 摄像头 V4L2曝光时间控制
v4l_extended-controls
using V4L2_CID_BRIGHTNESS or V4L2_CID_EXPOSURE in the camera