【Camera】手机相机自动对焦的3种方式及原理
2019独角兽企业重金招聘Python工程师标准>>>
目前在手机上采用的自动对焦系统包括反差对焦、相位对焦和激光对焦三种方案。
反差对焦-CDAF(Contrast Detection Auto Focus)
反差对焦是目前普及率最高、使用最广泛、成本相对较低的自动对焦技术,也称对比度对焦。
对焦的过程就是通过移动镜片来使对焦区域的图像达到最清晰的过程,所以对焦成功以后,直观的感受就是焦点的清晰度最高,而焦点以外的区域表现为相对模糊的状态。
采用反差对焦的相机,当我们对准被摄物体时,镜头模组内的马达便会驱动镜片从底部向顶部移动,在这个过程中,像素传感器将会对整个场景范围进行纵深方向上的全面检测,并持续记录对比度等反差数值。找出反差最大位置后,运动到顶部的镜片则会重新回到该位置,完成最终的对焦。
所以使用反差对焦的手机在拍照过程中,如果取景框中的物体位置、内容发生了变动,我们的肉眼就可以观察到屏幕上的内容由模糊到清晰再到模糊的过程,有一种镜片在前后推拉的直观感受。
因为反差对焦的工作方式是进行对比度检测,因此相机镜片必须要前后移动完整记录所有的图像信息,然后计算对比度最高的位置,才能最终完成对焦。所以反差对焦的一个主要缺点就是耗费的时间较长。
反差对焦类似手动调焦的过程:模糊-清晰-模糊,然后重回到清晰的焦距。
相位对焦-PDAF(Phase Detection Auto Focus)
单反相机普遍采用相位对焦系统,相比于数码单反相机上的相位对焦,手机上的相位对焦则是直接将自动对焦传感器和像素传感器直接集成在一起,即从像素传感器上拿出左右相对的成对像素点,分别对场景内的物体进行进光量等信息的检测,通过比对左右两侧的相关值的情况,便会迅速找出准确的对焦点,之后镜片马达便会一次性地将镜片推到相应位置,完成对焦。
观看视频了解相位对焦
由于取消了之前的检测过程,且镜片马达需要移动的距离更短,对焦速度明显变快,在画面上也不会有来回对焦的情况,对于拍视频而言,效果也更加自然。不过,相位对焦并不是那么完美,它对光线的要求就比较高,在弱光拍摄环境下,相位对焦就无能威力了。
激光对焦-LDAF(Laser Detection Auto Focus)
激光对焦本来是军方的技术,后来因为科技的进步才逐渐转为民用,当然这里的激光不是对人有害的镭射激光,而是红外光线。
激光对焦是通过后置摄像头旁边的红外激光传感器向被摄物体发射低功率激光,经过反射后被传感器接收,并计算出与被摄物体之间的距离。之后镜间马达便直接将镜片推到相应位置,完成对焦。 和相位对焦一样,同样是一次完成。
激光对焦技术对于微距、弱光环境以及反差不够明显的区域,效果显著,能够有效提高手机在这些情况下的对焦成功率,只是在对焦速度上,激光对焦比较一般。而在光线正常的条件下,激光对焦的速度和相位对焦一样非常之快。
转载于:https://my.oschina.net/zhangyujian/blog/3036230
【Camera】手机相机自动对焦的3种方式及原理相关推荐
- java对焦_【Camera】手机相机自动对焦的3种方式及原理
目前在手机上采用的自动对焦系统包括反差对焦.相位对焦和激光对焦三种方案. 反差对焦-CDAF(Contrast Detection Auto Focus) 反差对焦是目前普及率最高.使用最广泛.成本相 ...
- 手机相机自动对焦的3种方式及原理
目前在手机上采用的自动对焦系统包括反差对焦.相位对焦和激光对焦三种方案. 反差对焦-CDAF(Contrast Detection Auto Focus) 反差对焦是目前普及率最高.使用最广泛.成本相 ...
- 【小家Spring】SpringBoot中使用Servlet、Filter、Listener三大组件的三种方式以及原理剖析
每篇一句 要么就安逸的穷,要么就拼命的干 前提概要 web开发使用Controller基本能解决大部分的需求,但是有时候我们也需要使用Servlet,因为相对于拦截和监听来说,有时候原生的还是比较好用 ...
- 清除浮动的四种方式及其原理
前言: 什么是浮动,浮动给我们造成了什么困扰,我们该使用什么方式来解决它.下面会介绍到为什么要清除浮动以及清除浮动的四种方式. 目录: 前言: 一.为什么要清除浮动 二.清除浮动的第一种方式---给父 ...
- Ceph之RBD恢复的几种方式与原理
目录 RBD是什么 RBD使用 写入文件 RBD组装 Ceph--CRUSH osdmap提取crushmap ceph中rbd的增量备份和恢复 RBD在Ceph底层的存储方式,解释了RBD的实际占用 ...
- 解析XML的几种方式的原理与特点:DOM、SAX、JDOM、DOM4J
XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四 ...
- java 多线程的同步问题_java多线程解决同步问题的几种方式,原理和代码
wait()/notify()方法 await()/signal()方法 BlockingQueue阻塞队列方法 PipedInputStream/PipedOutputStream 阻塞队列的一个简 ...
- 向服务器端提交数据的两种方式
朴素版: ...
- 宿主机为linux、windows分别实现VMware三种方式上网(转)
一.VMware三种方式工作原理 1 Host-only连接方式 让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位 ...
最新文章
- Java 9 - 17 特性解读:Java 10
- 完全相同的4个小矩形如图所示放置_短线投资,遇到“矩形突破”,斩钉截铁满仓干!...
- 蓝桥杯2015初赛-加法变乘法-枚举
- 安卓手机背景变黑色怎么改_别着急扔掉旧手机 你的电脑可能需要它
- 图片和文件上传js剖析
- linux ip 访问记录,linux 精确记录用户IP以及用户操作命令
- python png 背景透明_python – Pygame:在png图像中将所有白色像素转换为完全透明...
- Loadrunner 第一个场景设计Controller
- linux tee命令_Linux tee命令示例
- python植物大战僵尸脚本_用 Python 实现植物大战僵尸代码!
- Android Camera HAL3 - 开篇词
- 苹果为M1 MacBook Air/Pro提供自助维修服务 维修成本更低
- Blog的浏览量达到1000时将发布“曾经桑海难为水之三”
- 阿里天池大数据之移动推荐算法大赛总结及代码全公布
- 【一些题目】CTF Crypto初接触
- 查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名
- 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)
- 密度聚类:OPTICS算法详解
- C语言实现http服务器(Linux)
- 百度股市通日k数据接口