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:曝光增益
//曝光增益
Range<Integer> range1 = 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:曝光时间
Range<Long> range = 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感光灵敏度
Range<Integer> range = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE);
int max1 = range.getUpper();//10000
int min1 = range.getLower();//100
int 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);