zoukankan      html  css  js  c++  java
  • 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下增加了曝光时间,但是帧率自然就下降了。

    需要帧率优先还是曝光优先,要看不同应用了,一般拍照时候是曝光优先,录像时候是帧率优先(固定帧率)

    以上纯粹个人经验和理解

    ————————————————————————————————————————————————————————————————————————————————————

  • 相关阅读:
    stl 之 next_permutation 求出一个排序的下一个排列的函数 转载
    算法学习一~分治法~二分查找,快速的找~
    Cocos2d开发系列(九)
    每个好架构师都是一位出色的程序员
    本地通知和推送通知编程指南(2)
    【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
    【Cocos2d游戏开发之十三】CCSprite利用Bezier(贝塞尔)做抛物线动作并让CCSprite同时播放两个Action动作!
    【Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
    使用SQL 2008进行INSERT操作
    【Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法
  • 原文地址:https://www.cnblogs.com/whw19818/p/5821202.html
Copyright © 2011-2022 走看看