Camera帧率和AE的关系
1.camera首先是通过曝光的pixel加上dummy pixel以及曝光的line加上dummy line来决定一帧的曝光时间,这一帧曝光时间的倒数就是帧率,这个没有错吧,但是看代码时候看到preview的时候软件会不断的给sensor写shutter值,环境亮暗变化时候shutter值也不断的变化。这样每一帧的曝光时间就不同了,这样的话帧率就会自动调节,不就不一定了么?
还有写shutter的值是否增加了dummy line呢?还是增加了dummy pixel呢?我以前好像看到过别人说增加dummy pixel会增加曝光时间,而增加dummy line不会增加曝光时间,这又怎么理解?
还有base shutter,pre shutter这些都是什么意思,根据什么设置?
最近在看camera的东西,看的比较难受,看的是RAW格式的代码,
现在在帧率和AE上比较纠结,搞不明白,请高手指教。
————————————————————————————————————————————————————————————————————————————————————
2.一般sensor曝光时间都是指曝光多少行,
曝光时间<帧长时,
帧率fps = PCLK/(行长x帧长)
曝光时间>帧长时,
帧率fps = PCLK/(行长x曝光时间)
————————————————————————————————————————————————————————————————————————————————————
3.曝光时间是帧率的倒数的说法是不对的,例如sensor在阳光下的曝光时间可以到1/1000s,帧率是不是就能到1000fps呢?
————————————————————————————————————————————————————————————————————————————————————
4.曝光就是让sensor感光,并把积累的电荷转换为数字,
所以曝光所需要的行数 x 每一行所需要的时间 = 曝光时间;
所需行数就会与dummy line有关,
而每一行所需的曝光时间就会与dummy pixel有关,
而整个画面的帧率就与这些有关系。
”preview的时候软件会不断的给sensor写shutter值,环境亮暗变化时shutter值不断的变化“———这就属于自动曝光控制机制;
————————————————————————————————————————————————————————————————————————————————————
5.行长和帧长可以理解为HSYNC和VSYNC的长度,假设HSYNC和VSYNC都是高有效,dummy pixel和dummy line则是增加低电平的时间。可以参考芯片的datasheet上的时序图。
————————————————————————————————————————————————————————————————————————————————————
6.sensor曝光是一行一行来做,dummy line不会占用曝光时间但是会影响帧率,dummy pixel会增加曝光时间,所以会影响帧率。
固定帧率的时候,这个时候每一行的曝光时间是固定的,但是会造成不同场景下面图像亮度不够的问题。有时候为了满足这比较暗的场景下面得到更多的光信息,这个时候需要加大曝光时间,来达到我们希望的效果,比如lowlight下增加了曝光时间,但是帧率自然就下降了。
需要帧率优先还是曝光优先,要看不同应用了,一般拍照时候是曝光优先,录像时候是帧率优先(固定帧率)
以上纯粹个人经验和理解
————————————————————————————————————————————————————————————————————————————————————
Camera帧率和AE的关系的更多相关文章
- RTP timestamp与帧率及时钟频率的关系
转自:http://blog.csdn.net/jasonhwang/article/details/7316128 RTP timestamp是用时钟频率(clock rate)计算而来表示时间的. ...
- 【Android】[转] Android屏幕旋转使用OrientationEventListener的监听
说明 遇到一个奇葩的问题,我在使用onConfigChanged拦截屏幕的横竖屏旋转时,发现直接进行180度的横屏/竖屏转换居然没有反应!查找原因发现仅对landscape或者portrait状态有用 ...
- 【转】GT 的性能测试方案解析
前言 本文将整理腾讯GT各个性能测试项的测试方法,目的是为了帮助移动性能专项测试同学快速过一遍腾讯GT各个性能数据是如何获取的.另外对腾讯GT还不了解或者不知道它能做什么的同学可以看看这篇文章:htt ...
- 探索未知种族之osg类生物---器官初始化四
上一节我们对完成了对osg生物内部非常重要器官graphicsContext的初始化工作.这样就可保证我们场景中至少有一个graphicContext存在,不至于刚出生就面临夭折.我们根据上一节中os ...
- FFMS2 API 译文 [原创]
FFMS2 又称 FFmpegSource2,参阅 https://github.com/FFMS/ffms2. 原文:https://github.com/FFMS/ffms2/blob/maste ...
- 从CVPR 2014看计算机视觉领域的最新热点
编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下帷幕.在这次大会中,微软亚洲研究院共有15篇论文入选.今年的CVPR上有哪些让人眼前一亮的研究,又反映出哪些趋势?来听赴美参加会议的微软亚洲 ...
- OSG-CompositeViewer
原文连接地址:http://www.osgchina.org/index.php?Itemid=490&id=134:usecompositiv&option=com_content& ...
- H.264(MPEG-4 AVC)级别(Level)、DPB 与 MaxDpbMbs 详解(转载)
转自:http://www.cnblogs.com/zyl910/archive/2011/12/08/h264_level.html 对于H.264(MPEG-4 AVC)而言,级别(Level)是 ...
- python opencv —— io(帧、图像、视频的读取与保存)
0. VideoCapture VideoCapture:构造函数: 常见成员函数: open:打开视频文件,或者捕获视频设备,该函数会首先调用 release() 函数以关闭已打开的文件或设备: P ...
随机推荐
- c++ rand()
一.C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的 ...
- Tiny4412 Android 5.0 编译系统学习笔记
1.Android 编译系统概述 Build 系统中最主要的处理逻辑都在 Make 文件中,而其他的脚本文件只是起到一些辅助作用. 整个 Build 系统中的 Make 文件可以分为三类: ① Bui ...
- 【BZOJ1935/4822】[Shoi2007]Tree 园丁的烦恼/[Cqoi2017]老C的任务 树状数组
题意:两道题差不多,都是给你一堆平面上的点,每个点有权值,然后m次询问求某一矩形区域内的点权和 题解:先离散化,然后将询问拆成左右两条线段,然后将点和这些线段一起按x坐标排序,在y轴上维护树状数组.然 ...
- distinct用group by优化
当数据量非常大,在同一个query中计算多个不相关列的distinct时,往往很容易出现数据倾斜现象,导致运行半天都不能得到结果. 比如以下的SQL语句(a, b, c没有相关性): select d ...
- new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。
new运算符 - JavaScript | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operator ...
- datasnap rest Windows客户端编写
首先吐槽一下XE关于datasnap的资料真的是太少了... 服务端用DSHTTPService1控件可以实现http接口方式的调用,返回的都是json格式数据,适用于跨平台解析. 这里着重强调一下d ...
- jquery Chosen使用
1,首先去http://harvesthq.github.io/chosen/下载插件. 2,在网页中加入下面的文件. <link rel="stylesheet" href ...
- windows平台tensorboard的配置及使用
由于官网和其他教程里面都是以Linux为平台演示tensorboard使用的,而在Windows上与Linux上会有一些差别,因此我将学习的过程记录下来与大家分享(基于tensorflow1.2.1版 ...
- 我在Xcode 6上Swift框架的测试经验分享
我耗费了两个多月时间来琢磨Swift作为一门函数是编程语言都能做些什么,而今已经转移 到使用Swift来开发库文件了. 我花了一天的时间,最后发觉之前做的Swift特性探究是相当愉快的经历,我发现仍旧 ...
- Linux安装Java开发环境
一.JDK安装 安装JDK的实现步骤(使用root用户登录安装,避免需要对文件授权) (1)下载JDK,JDK的存放目录一般存放于 /opt目录下(Oracle官网下载jdk,需要accept lic ...