[RK3288][Android6.0] 调试笔记 --- 相机曝光模式以及等级的获取和设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/kris_fei/article/details/86712088
今日推荐