相机知识问答


1、持续对焦和触摸对焦的工作原理;

答:首先要了解一下对焦的工作原理。

AF工作原理:

就是通过微距移动镜头,sensor采集图像并传送给ISP处理,ISP把当前frame的对比度值(FV)记录下来并保存为A1,同时按照固定的step把镜头移动到下个位置。下个frame时,sensor又采集图像并传送给ISP处理,ISP把当前frame的对比度值(FV)记录下来并保存为A2。通过A1A2对比,找出FV的最大值,即为最清晰位置。示意图如下图所示:


数码相机中普遍使用的对焦原理示意图

持续对焦是指当场景发生变化时,相机会主动去调节焦距来达到被拍摄的物体始终是清晰的状态。

触摸对焦则是选择手指触摸的点作为最清晰的点(对焦点),来挪动镜头组调节焦距,达到对焦的目的。

2、持续对焦和触摸对焦时,移动到或点击不同的位置,界面亮度会变化,这个是什么原理?(应该跟测光有关系,希望了解得具体一点)

答:在对焦时,移动到不同的位置,3A算法会检测当前场景中的光线强度,调节其曝光值达到准确曝光的目的(若光线偏暗,则使用快门时间增长,增大光圈。若光线偏亮,则提高快门,减小光圈。在手机上则是进行补光,或者降低帧率来实现。这就是为什么暗环境下帧率低,而亮环境下帧率高的原因)。

点击不同位置时,实际上是进行了重新对焦。但是若点击的画面中偏暗的部分,那么物体轮廓都不清晰,对焦就会困难,通常情况下,就需要先调节偏暗部分的曝光值,首先能使物体曝光清晰,再来进行对焦就更准确了。

3、拍照时(自动闪光灯和开启闪光灯),闪光灯是什么时候闪的,闪的时间是多久?(经常会遇到曝光过度或曝光不足的情况)

答:闪光灯主要是为了辅助相机在光线不足的环境下,通过补光的形式,使得所拍摄的照片获得准确的曝光。那么从这个功能上来讲,自动曝光算法会控制闪光灯在光线不足的情况下就会进行闪光。光线越暗,闪光时间越久。而录像模式下闪光灯主要是为了照亮所拍摄的物体。相机中闪光灯的功能毕竟有限,黑暗环境中,在所拍物体较远的情况下,一般就会出现曝光不足的情况。还有一种情况,相机中闪光灯是否闪光,有一个阈值来控制,当环境光亮度低于多少时,才会进行闪光,那么这个值控制得不好,也会导致曝光不足或者曝光过度的问题。

4、拍照时切换明暗环境会容易出现问题,是什么原因呢?

答:暗环境下帧率更低,就是说快门速度更低。譬如如果帧率是8fps的话,那么拍摄一张照片需要在 1/8s 内保持不动,才能使拍出的效果更好。但这很难做到,所以暗环境下拍照抖动的机率会更高。亮环境 30fps 的情况下,需要的快门速度就是 1/30 s,这样抖动的机会就很少,就能更轻易拍出好照片。

5、一般测哪些纯色背景会出现偏色情况,是什么原因呢?

答:这个主要涉及到白平衡控制。那么首先需要了解下白平衡是个什么东西?

不同的光源具有不同的光谱成分和分布,这在色度学上称之为色温。一个白色的物体,在低色温的光线照射下会偏红,而在高色温的光线照射下会偏蓝。因此,必须对不同色温所引起的的色差进行校正,从而使白色的物体呈现真正的白色,称之为白平衡。通俗的讲就是对物体在不同环境光线下所反射出来的色差进行较正,还原物体本来的颜色。

自动白平衡 算法中会记录主要典型场景中的色差较正值。在实际拍照过程中,通过检测场景光线与记录的场景光线作对比,若一致,则按照其色差值进行较正。但是环境光线千变万化,有很多场景是没法测算的,譬如有很多不同色温光源照射的情况下,在这种情况下自动白平衡一般都难以凑效。

6、希望能讲一下美颜模式的原理

答:美颜模式主要是对原始图片数据作了一些算法处理。就 DOC 美颜模式来说,它分为 VFB 和 SFB 两部分。即预览时美颜呈现和拍完照片后美颜处理。

VFB(Video Face Beautification)现在主要有磨皮功能。


SFB (Still Face Beautification)包含一系列的后期处理,包括眼睛增大,牙齿美白,皮肤去除毛边,眼睛美化,皮肤光滑,肤色调节,瘦脸等一系列功能。



它能检测到人脸,眼睛,牙齿等不同部位,并且对这些部分的像素分别进行相关的算法处理。最终得出来一个效果比较完美的照片。

7、信息、联系人调用相机是怎么调用的,调用了哪些东西

答:信息,联系人等调用相机主要是为了完成相应的功能,而这些功能又都是相机全功能的一个子集。那么它们都是对原有的相机功能作了一些裁剪和定制。根据需求不同,关注的功能的测重点也不同。

譬如,联系人主要是为了抓拍一张照片作为联系人头像,因此它就不需要去注重设置什么保存路径,拍摄模式等功能。而信息中则主要会去限制拍摄视频的大小,拍摄尺寸等。因为太大的视频通过短信根本就发送不了。

8、第三方相机调用本机的摄像头是怎么调用的呢?

答:第三方应该主要是通过标准库函数来调用相机接口的。因此第三方同样可以获取诸如相机所支持的预览尺寸及支持的拍摄尺寸等驱动里面写入一些信息。

9、老是在原因分析中看到空指针异常,什么时候会出现空指针异常情况呢?

答:在对象未被初始化,或者已经释放的情况下再使用该对象就会出现空指针。

10、zsd是什么意思?

答:ZSD (Zero Second Delay) ,这是MTK的叫法,高通则简称作 ZSL (Zero Second Later),其实是一个意思,就是0秒延时拍摄。0秒延时拍摄是真正的所拍即所得,就是说你按下快门那一刻拍到的照片就是你当时所看到的照片,它是相对于普通模式拍照来讲的。
在普通模式下拍照,按下快门后需要进行一系列地处理和校正,像对焦、曝光、白平衡等动作,然后再进行编码。譬如在预览30fps的情况下,你按下快门时是在第1帧,而实际上拍得的照片是第8帧的图像。
而ZSD情况下,会缓存若干帧,在按下快门那一刻,直接提取缓存帧进行编码保存照片。譬如在预览30fps的情况下,你按下快门时是在第1帧,则实际上拍得的照片是第1帧的图像。
这个可以通过在手机上开启秒表,启动相机去观察秒表最末一位的走时(100ms刷新一次),zsd 情况下能抓拍到你按下快门那一刻的读数。而非 zsd 则不能做到这一点。


B组问题:

1.为什么有的时候预览界面有水波纹,有什么方法可以彻底解决这个问题吗
2.为什么拍纯色物体更容易出问题
3.为什么1225机型是不是先对焦再测光
4.经常会说AE不稳,为什么会出现这个情况呢
5.相机应用调用底层驱动的流程
6.对焦速度和精度受哪些方面的影响
7.微距的原理

C组问题:
1.关于启动流程:需要开发详细介绍一下相机的启动流程,例如什么时候判断使用的模组,什么时候设置窗口大小,点击相机app后从上层到驱动之间相互传递了哪些信息,
  什么时候初始化?开机首次进相机跟后续进相机的区别在于?为什么有时候出现绿屏问题,退出再进入就能恢复,有时候又必须重启才能恢复  
  切换到前置的时候是否跟后置流程完全要重新走一遍?
  切换到摄像时跟底层驱动又传递了哪些信息?
  从其他应用调用相机是否也初始化?第三方相机软件调用底层驱动主要在于哪些接口信息?
2.闪光灯的工作流程:自动时如何判断是否需要闪光,比如预览界面为明暗交接处,为什么我对着亮处对焦和对着暗处对焦都会预闪,稍微移动时的亮处占比多一点就无论对焦明处还是暗处都不闪
  为什么要有预闪这个过程?
3.27的对焦方式具体跟其他机型有什么不一样?为什么对焦速度能比较快?陀螺仪怎么来辅助对焦的?
  对焦的范围是怎么定的?

4.从点击拍照到照片生成,上层app和底层驱动处理了什么?


参考资料:

1, AF原理介绍.ppt
2,Camera效果基础知识.ppt
3,LibVFB.chm
4,FB_22_Datasheet.pdf


你可能感兴趣的:(android,Camera)