Camera2 APP Flash 打闪流程及原理分析
Camera Flash打闪流程梳理
Flash打闪的条件有两个一个是AE_Mode 一个是Flash Mode两个参数决定Flash打闪的过程。
Flash mode有四个状态 AUTO OFF ON TORCH
1 AUTO 模式是在AE状态满足RequireFlash 状态时,在Capture请求过程中会进行打闪。Flash Mode 为Flash_Mode_SINGLE
,对应的AE_MODE为ON_AUTO_Flash
2 ON 状态时拍照时就会打闪,需要才Capture请求中代码Flash Mode参数,Flash Mode 为Flash_Mode SINGLE 对应下发的AE_Mode为ALWALWS_Flash
3 OFF为关闭闪光灯状态,capture请求时不做打闪.Flash Mode 为Flash_Mode OFF,对应的AE状态为MODE_ON 即可。
4 TORCH 状态的Flash_Mode 为Mode_TORCH.
Flash 需要打闪的流程
预拍照(预闪)-AF 收敛-Capture请求 这应一个过程
预拍照参数说明:需要下AE_TRIGGER 参数,参数value 为Start。Flash参数,不同的Flash 条件对应上面4个模式。
1预拍照结束的判定条件为AE状态返回PEPCAPTURE状态,当该状态返回即AETRIGGER结束,预闪结束。该流程结束后才可进行下一次的Capture请求动作。
2 下一步的Capture请求动作可以做AF的TRIGGER,即AF的收敛过程,当AF状态达到完成的几种状态后即可,进行主拍照流程。该流程不做Flash_Mode 参数的下发。
3 主拍照过程需要再次下发FLASH_MODE,该参数下发后再Capture请求过程会进行主闪的打闪过程。
4 拍照结束后需要释放AE AF的状态,从而保证下次拍照AF AE状态正常。
释放过程还是通过Capture请求过程完成,主要设定AE/AF TRIGGER的状态为CANCEL状态,即可取消上一次的TRIGGER过程。
取消TRIGGER过程后就可以进行预览参数的回复,即做一次预览的请求。
5 预览请求过程只要保持之前的预览参数,AE/AFTRIGGER的状态置为IDLE就可完成整个Flash拍照流程。
启用闪光灯原理分析:
当lux_index 值超过wled_trigger_idx参数值时将使用LED闪光灯。会有2次闪光,第一次是预览(聚光)模式,第二次是拍摄(闪光)模式。
启用自动闪光后,聚光模式(少量LED电流)照射目标以计算完全闪光模式的AE和AF。在部分版本中wled trigger代替wled_trigger_index,有一对trigger start lux index 和led trigger end lux index.增大wled trigger index参数的值,可以在更暗的场景中触发LEd闪光灯,减少该值,可以在更亮的场景中触发LED闪光灯。
确定预闪光与主闪光的驱动电流,这些值均可从闪光灯驱动程序代码中获取。计算驱动电流比率为预闪光灯电流/主闪光灯电流。然后将确定的比率降低约30%作为Flux Hi的初始估算值。目前Android软件仅支持Flux Hi,Flux Med和Flux Low不要调试。保持AEC Preview Flux 始终为1。如果快照曝光过度,增大Flux Hi,如果曝光不足,减小Flux Hi。
Camera2 APP Flash 打闪流程及原理分析相关推荐
- 支付宝app支付java后台流程、原理分析(含nei wang chuan tou)
java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写 一.流程步骤 1.执行流程 当手机端app(就是你公司开发的app) ...
- ssm框架搭建流程及原理分析
这几天自己想搭建个ssm框架玩一下,有些东西长时间不玩都给忘了,所以自己把整个流程整理了一下,只要跟着步骤,就能顺利完成ssm框架的搭建. 一.搭建步骤: 1.整理jar包 2.对于一个we ...
- 安卓获取APP对应的Android id的原理分析
android_id 的生成原理是由系统生成的随机数,并与应用 app 签名,经过 HmacSHA256 算法生成的: 从 android 8 以后开始就是随机的了,每个应用获取到的简要步骤: 获取的 ...
- 【深入浅出Spring原理及实战】「技术原理」Spring Security的核心功能和加载运行流程的原理分析
SpringSecurity的架构总览 Spring Security的简介说明 Spring Security对认证.授权和常见漏洞保护提供了全方位支持.使用的版本为:Spring Security ...
- 网站访问流程及原理分析
前言: (1).当用户在浏览器中输入www.baidu.com. (2).点击回车. (3).网页跳转到百度首页. 说到这个步骤. 大部分人都会. 但是这后面究竟经历了哪些流程呢? 尝试思考一 ...
- 算法系列之赫夫曼树的精解【构造流程及原理分析】
赫夫曼树又称为最优树.最优二叉树 赫夫曼树百度百科 https://baike.baidu.com/item/%E5%93%88%E5%A4%AB%E6%9B%BC%E6%A0%91/2305769? ...
- tensorflow: deep_dream代码及原理分析
deep_dream: tensorflow_inception_graph.pb 下载地址:https://storage.googleapis.com/download.tensorflow.or ...
- 第37讲 Android Camera2 API 拍照打闪实战
本讲是Android Camera专题系列的第37讲,我们介绍Android Camera2 API专题的拍照打闪实战,包括如下内容: 设置不同的Flash模式 拍照打闪流程 视频在线观看: 极客笔记 ...
- 两个简单的Demo示例向读者展示Flash和ASP.NET交互原理以及过程
ASP.NET与FLASH交互学习了ASP.NET的基础知识之后,终于等到学习交互的时候了.请大家和我一起来进行让人激动的交互吧!本章我将用两个简单的Demo示例向读者展示Flash和ASP.NET交 ...
最新文章
- C#综合揭秘——Entity Framework 并发处理详解
- 九大网络安全失误,需要注意
- 收藏!PyTorch常用代码段合集
- 撬开骁龙8一看,满满都是顶会论文
- ZendStudio快捷键
- POJ-3273(二分)
- 报表开发导出各种格式文件的API
- Maven依赖下载速度慢,不用怕,这么搞快了飞起
- linux怎么做ppapi工具,如何在Linux上构建PPAPI插件?
- linux vi脚本,用VIM编写脚本
- Canon iC MF8350Cdn打印机驱动安装,解决内存不能为written问题
- 【centos】快速截图设置
- IDEA中修改Maven的项目名称
- 四川一度智信:电商平台商品关键词优化技巧
- springboot日志配置logback-spring.xml
- 广告联盟的实现过程(一)
- 微信支付签名失败(几种解决方案)
- 《机器学习》周志华——勘误表
- .metadata\.plugins\org.eclipse.wst.server.core
- android 腾讯广告接入,cocos2dx 3.x android studio 添加广点通广告