Android Camera2 参数调节关键字翻译集合,常用关键字解析
https://blog.csdn.net/qq_29333911/article/details/79400617
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);
---------------------
作者:xubaipei柏培
来源:CSDN
原文:https://blog.csdn.net/qq_29333911/article/details/79400617
版权声明:本文为博主原创文章,转载请附上博文链接!
Android Camera2 参数调节关键字翻译集合,常用关键字解析的更多相关文章
- Delphi常用关键字用法详解
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...
- Android Studio tips and tricks 翻译学习
Android Studio tips and tricks 翻译 这里是原文的链接. 正文: 如果你对Android Studio和IntelliJ不熟悉,本页提供了一些建议,让你可以从最常见的任务 ...
- Oracle数据库常用关键字以及函数
常用关键字 insert into---插入数据 delete---删除数据 update---更新一条数据 select---实际工作中尽量不要写* set---设置某些属性 where---给执行 ...
- oracle常用关键字和函数
数据库的增删改查: 增:insert into ... values(); 例:insert into p_emp values(sq_emp.nextval,,sysdate,,null,,); c ...
- Android Camera2拍照(一)——使用SurfaceView
原文:Android Camera2拍照(一)--使用SurfaceView Camera2 API简介 Android 从5.0(21)开始,引入了新的Camera API Camera2,原来的a ...
- Android Camera2 拍照入门学习
原文:Android Camera2 拍照入门学习 学习资料: 肾虚将军android camera2 详解说明 极客学院android.hardware.camera2 使用指南 Android 5 ...
- linux 内核参数VM调优 之 参数调节和场景分析
1. pdflush刷新脏数据条件 (linux IO 内核参数调优 之 原理和参数介绍)上一章节讲述了IO内核调优介个重要参数参数. 总结可知cached中的脏数据满足如下几个条件中一个或者多个的时 ...
- android camera2 Api(转载)
现在的手机一般都会提供相机功能,有些相机的镜头甚至支持1000万以上像素,有些甚至支持光学变焦,这些手机已经变成了专业数码相机.为了充分利用手机上的相机功能,Android应用可以控制拍照和录制视频. ...
- 面向对象的三大特征——封装、继承、多态(&常用关键字)
一.封装 Encapsulation 在面向对象程式设计方法中,封装是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装的概念(针对服务器开发,保护内部,确保服务器不出现问题) 将类的 ...
随机推荐
- localhost/get/user.json localhost/get/user.xml
我也是引入了jackson-dataformat-xml这个依赖,它是提供了jackson将实体类转化为xml相关的作用.而本身jackson是可以将实体类转化为json的,所以这样Jackson是可 ...
- https://www.cnblogs.com/beileixinqing/p/7724779.html vue-cli生成的项目配置开发和生产环境不同的接口 vue-cli生成的项目,vue项目配置了不同开发环境的接口地址,axios.defaults.baseURL如何引用这个地址,这是在我发布项目的时候考虑的,于是想到了
方法二:(集热心网友提供的方案) 一般项目webpack会有两个或多个配置文件,如: webpack.prod.conf.js 对应线上打包 webpack.dev.conf.js 对应开发环境 使用 ...
- [LeetCode] 111. Minimum Depth of Binary Tree_Easy tag:DFS
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- [Java] Frequently used method or solutions for issues
模板: Split string into parts based on new line in java Solution: Reference is here. 1) get out of t ...
- iOS库
https://medium.com/app-coder-io/33-ios-open-source-libraries-that-will-dominate-2017-4762cf3ce449#.i ...
- js计算最大公约数和最小公倍数
一.计算最大公约数 1.小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数 function gcd2(a,b){ var result = 1; for(var ...
- 多么痛的领悟---关于RMB数据类型导致的元转分分转元的bug
关于金额的数据类型,以及元转分分转元之间这种转换,以及元和分的比较,我相信很多人都踩过坑. 反正我是踩过. 而且,昨天和今天又重重的踩了两脚. 代付查询接口,支付中心给溢+响应的报文里,amount的 ...
- layui透明弹框
效果: layui.use('layer', function () { var layer = layui.layer; var str = '<div>'; str += '<d ...
- PHP开启mysqli扩展
Call to undefined function mysqli_connect()解决这个问题需要开启mysqli扩展开启mysqli扩展需要这两个步骤缺一不可1.在php.ini中搜索php_m ...
- C#日期格式字符串的相互转换
方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss ================================== ...