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 ...
随机推荐
- 三、Gradle初级教程——Gradle除了签名打包还能配置jar包
1.gradle概念 构建工具,Groovy,Java. 2.gradle配置jar包,和libs文件夹导入jar包的区别 到此,还是这种方法导入JAR包比较方便.每次更新JAR包,只需要修改版本号就 ...
- Vue-cli 安装使用和理解
Vue 的 官方文档 提到 点开这个链接,跟着文档一步步直到: $ npm install -g vue-cli $ vue init webpack my-project $ cd my-proje ...
- 简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC
表设计 Timestamp列是否取消"根据当前时间戳自动更新" 是否null及默认值选择合理不合理 外键命名规范及更新和删除时的动作是否合理 泛型 类型参数 --允许在外部指定 ...
- WingIDE6.0神秘代码
python2: import string import random import sha BASE16 = '0123456789ABCDEF' BASE30 = '123456789ABCDE ...
- HDU 3333 Turing Tree (线段树)
Turing Tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Requset和Response中的乱码问题
在我们的日常开发中,乱码问题,还是比较经常遇到的,有时候是浏览器端提交的数据到后台乱码了,有时候是后台响应的数据到前台浏览器端展现出现乱码了.下面我们将通过几个简单的例子来说明乱码的由来和解决方式. ...
- andriod的apk文件相关的编译反编译工具
1.smali-1.2.6.jar 用途:.smali文件 转成 classes.dex文件 说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改. 用法举例:命令行:jav ...
- Microservices 微服务概念和优点 自治 弹性 级联故障 微服务的问题 CAP 分布式事务 修改一个服务并对其部署而不影响其他任务服务
https://en.wikipedia.org/wiki/Microservices https://zh.wikipedia.org/wiki/微服務 微服務 (Microservices) 是一 ...
- linux, sysrq,acpi,apci,uio,subsystem daemon
linux, sysrq,acpi,apci Linux设备模型 一.sysfs文件系统: sysfs文件系统是Linux2.6内核引入的,它被看成是与proc.devfs和devpty等同类别的文 ...
- django允许外部访问
默认方法启动django python manage.py runserver 这时启动的服务只能在本机访问,这是因为服务只向本机(127.0.0.1:8000)提供,所以局域网的其他机器不能访问. ...