black_level_lock
黑电平补偿是否锁定当前值,或者可以自由更改。 color_correction_aberration_mode 色差校正算法的运算方式。 color_correction_gains 适用于拜尔原料色通道的白平衡。 color_correction_mode 模式控制选择图像数据从传感器的原始颜色为线性sRGB色彩转换。 color_correction_transform 颜色的变换矩阵,利用从传感器RGB颜色空间到输出线性sRGB色彩空间变换。 control_ae_antibanding_mode 所需的摄像装置的自动曝光算法的antibanding补偿设置。 control_ae_exposure_compensation 自动曝光(AE)目标图像亮度的调整。 control_ae_lock 是否自动曝光(AE)当前锁定到其最新计算值。 control_ae_mode 照相机设备的自动曝光程序所需的模式。 control_ae_precapture_trigger 不论相机设备将触发Precapture计量序列时,处理这个请求。 control_ae_regions 用于自动曝光调整的计量区域列表。 control_ae_target_fps_range 自动曝光程序可以调整捕获帧速以保持良好曝光范围。 control_af_mode 当前是否启用自动对焦(AF),以及它设置为什么模式。 control_af_regions 用于自动对焦的计量区域列表。 control_af_trigger 照相机设备是否会触发这个请求的自动对焦。 control_awb_lock 无论是自动白平衡(AWB)是目前最新的计算值锁定。 control_awb_mode 无论是自动白平衡(AWB)是目前设置的颜色变换领域,其照明的目标是什么。 control_awb_regions 用于自动白平衡光源估计的测光区域列表。 control_capture_intent 信息到相机设备3A(自动曝光,自动对焦,自动白平衡)例程,目的是为了捕捉,帮助相机设备决定最佳3A策略。 control_effect_mode 特殊色彩效果。 control_enable_zsl 允许摄像装置使零快门延迟模式的要求与android.control.captureintent = = still_capture。 control_mode 3A模式(自动曝光、自动白平衡、自动对焦)控制例程。 control_post_raw_sensitivity_boost 捕获原始传感器数据后输出图像的附加灵敏度提升量。 control_scene_mode 当前活动场景模式的控件。 control_video_stabilization_mode 视频稳定是否有效。 造物主edge_mode 边缘增强操作模式。 flash_mode 照相机设备闪光灯控制所需的模式。 hot_pixel_mode 热像素校正的操作模式。 jpeg_gps_location 生成映像GPS元数据时要使用的位置对象。 jpeg_orientation jpeg图像的定位。 jpeg_quality 最后jpeg图像的压缩质量。 jpeg_thumbnail_quality jpeg缩略图压缩质量。 jpeg_thumbnail_size 嵌入式jpeg缩略图解析。 lens_aperture 理想透镜孔径,作为透镜焦距与有效孔径的比值。 lens_filter_density 透镜中性密度滤光器所需的设置。 lens_focal_length 所需的透镜焦距;用于光学变焦。 lens_focus_distance 所需的距离对焦点平面,从镜头前的表面测量。 lens_optical_stabilization_mode 设置照相机设备在拍摄图像时是否使用光学图像稳定(稳定)。 noise_reduction_mode 噪声抑制算法的运算方式。 reprocess_effective_exposure_factor 在发送处理前,应用程序处理对原始输出帧施加曝光时间增加因子的数量。 scaler_crop_region 要捕获的传感器读出的所需区域。 sensor_exposure_time 每个像素的曝光时间。 sensor_frame_duration 从帧曝光开始到下一帧曝光开始的持续时间。 sensor_sensitivity 在处理之前应用于传感器数据的增益量。 sensor_test_pattern_data 一个像素[ R,g_even,g_odd,b ]提供测试模式android.sensor.testpatternmode是当solid_color。 sensor_test_pattern_mode 当启用时,传感器发送一个测试模式,而不是从相机进行真正的曝光。 shading_mode 应用于图像数据的镜头阴影校正质量。statistics_face_detect_mode
二:常用的调节项
1:焦距
float minimumLens = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);float num = (((float) i) * minimumLens / 100);mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num);int showNum = (int) num;mSeekBarTextView.setText("聚焦:" + showNum);
2:曝光增益
//曝光增益Rangerange1 = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);int maxmax = range1.getUpper();int minmin = range1.getLower();int all = (-minmin) + maxmax;int time = 100 / all;int ae = ((i / time) - maxmax) > maxmax ? maxmax : ((i / time) - maxmax) < minmin ? minmin : ((i / time) - maxmax);mPreviewBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, ae);mSeekBarTextView.setText("曝光增益:" + ae);valueAE = ae;
3:曝光时间
Rangerange = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE);long max = range.getUpper();long min = range.getLower();long ae = ((i * (max - min)) / 100 + min);mPreviewBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, ae);mSeekBarTextView.setText("曝光时间:" + ae);valueAETime = ae;
4:ISO感光灵敏度
Rangerange = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE);int max1 = range.getUpper();//10000int min1 = range.getLower();//100int iso = ((i * (max1 - min1)) / 100 + min1);mPreviewBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, iso);valueISO = iso;mSeekBarTextView.setText("灵敏度:" + iso);
5:放大缩小(可指定区域放大)
Rect rect2 = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);int radio2 = mCameraCharacteristics.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM).intValue() / 3;int realRadio2 = mCameraCharacteristics.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM).intValue();int centerX2 = rect2.centerX();int centerY2 = rect2.centerY();int minMidth2 = (rect2.right - ((i * centerX2) / 100 / radio2) - 1) - 20;int minHeight2 = (rect2.bottom - ((i * centerY2) / 100 / radio2) - 1) - 20;if (minMidth2 < rect2.right / realRadio2 || minHeight2 < rect2.bottom / realRadio2) { Log.i("sb_zoom", "sb_zoomsb_zoomsb_zoom"); return;}Rect newRect2 = new Rect(20, 20, rect2.right - ((i * centerX2) / 100 / radio2) - 1, rect2.bottom - ((i * centerY2) / 100 / radio2) - 1);Log.i("sb_zoom", "left--->" + "20" + ",,,top--->" + "20" + ",,,right--->" + (rect2.right - ((i * centerX2) / 100 / radio2) - 1) + ",,,bottom--->" + (rect2.bottom - ((i * centerY2) / 100 / radio2) - 1));mPreviewBuilder.set(CaptureRequest.SCALER_CROP_REGION, newRect2);mSeekBarTextView.setText("放大:" + i + "%");
6:颜色效果
case 0: mPreviewBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, CameraMetadata.CONTROL_EFFECT_MODE_AQUA); mAnimationTextView.start("AQUA", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;case 1: mPreviewBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, CameraMetadata.CONTROL_EFFECT_MODE_BLACKBOARD); mAnimationTextView.start("BLACKBOARD", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;
7:闪光灯:
case 0: mBtnFlash.setImageResource(R.drawable.btn_flash_off); mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON); mPreviewBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_OFF); mAnimationTextView.start("OFF", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;case 1: mBtnFlash.setImageResource(R.drawable.btn_flash_on); mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON); mPreviewBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_SINGLE); mAnimationTextView.start("SINGLE", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;case 2: mBtnFlash.setImageResource(R.drawable.btn_flash_all_on); mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON); mPreviewBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_TORCH); mAnimationTextView.start("TORCH", DisplayFragment.WINDOW_TEXT_DISAPPEAR);
8:场景
case 0: mPreviewBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, CameraMetadata.CONTROL_SCENE_MODE_DISABLED); mAnimationTextView.start("DISABLED", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;case 1: mPreviewBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, CameraMetadata.CONTROL_SCENE_MODE_FACE_PRIORITY); mAnimationTextView.start("FACE_PRIORITY", DisplayFragment.WINDOW_TEXT_DISAPPEAR); break;
9:自动对焦区域
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_CANCEL);mPreviewBuilder.set(CaptureRequest.CONTROL_AF_REGIONS, meteringRectangleArr);mPreviewBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);