当前位置: 首页 > news >正文

相机光学(三十七)——自动对焦原理

1.自动对焦的三种方式

  目前在手机上采用的自动对焦系统包括反差对焦、相位对焦和激光对焦三种方案,下面我们来看一下它们的工作原理和相互之间的区别是什么。

1.1反差对焦【CDAF】- Contrast Detection Auto Focus

  反差对焦是目前普及率最高、使用最广泛、成本相对较低的自动对焦技术,它又被成为对比度对焦。
  对焦的过程就是通过移动镜片来使对焦区域的图像达到最清晰的过程,所以对焦成功以后,直观的感受就是焦点的清晰度最高,而焦点以外的区域则表现为相对模糊状态。
在这里插入图片描述
  采用反差对焦的相机,当我们对准被摄物体时,镜头模组内的马达便会驱动镜片从底部向顶部移动,在这个过程中,像素传感器将会对整个场景范围进行纵深方向上的全面检测,并持续记录对比度等反差数值。找出反差最大位置后,运动到顶部的镜片则会重新回到该位置,完成最终的对焦。
  所以使用反差对焦的手机在拍照的过程中,如果取景框中的物体位置、内容发生变动,我们的肉眼就可以观察到屏幕上的内容会由模糊到清晰再到模糊的过程,有一种镜片在前后推拉的直观感受。
  因为反差对焦的工作方式是进行对比度检测,因此相机镜片必须要前后移动完整记录所有的图像信息,然后计算出对比度最高的位置,才能最终完成对焦,所以反差对焦的一个主要缺点就是耗费的时间较长。

1.2相位对焦【PDAF】- Phase Detection Auto Focus

  单反相机普遍采用相位对焦系统,相比于数码单反相机上的相位对焦,手机上的相位对焦则是直接将自动对焦传感器与像素传感器直接集成在一起,即从像素传感器上拿出左右相对的成对像素点,分别对场景中的物体进行进光量等信息的检测,通过比对左右两侧的相关值情况,便会迅速找出准确的对焦点,之后镜间马达便会一次性将镜片推动到相应位置完成对焦。
在这里插入图片描述
  由于取消了之前的检测过程,且镜间马达需要移动的距离更短,对焦速度明显更快,在画面上也不再会有来回对焦的情况,对于拍摄视频而言,效果也会更加自然。
  不过,相位对焦也并不是十分完美,它对光线的要求就比较高,在弱光拍摄环境下,相位对焦就无能为力了。

1.3激光对焦【LDAF】- Laser Detection Auto Focus

  激光对焦本来是军方的技术,后来因为科技的进步才逐渐转为民用,当然这里的激光不是对人有害的镭射激光,而是红外光线。
在这里插入图片描述
  激光对焦是通过后置摄像头旁边的红外激光传感器向被摄物体发射低功率激光,经过反射后被传感器接收,并计算出与被摄物体之间的距离。之后镜间马达便直接将镜片推到相应位置,完成对焦。和相位对焦一样,同样是一次完成。
  激光对焦技术对于微距、弱光环境以及反差不够明显的区域,效果显著,能够有效提高手机在这些情况下的对焦成功率,只是在对焦速度上,激光对焦比较一般。而在光线正常的条件下,激光对焦的速度和相位对焦一样非常之快。
  一般的激光对焦有效距离只有40~1250px,超出这个距离时,在精度与速度上就会大打折扣,而手机厂商在此基础上进行了改良,如V8采用的是意法半导体新推出的解决方案,在3000px的对焦距离内,对焦精确度与速度上获得显著提升,而且在弱光和纯色环境中表现优秀。

2.三种对焦系统对比

  在目前的智能手机中,相位对焦以及激光对焦技术都是与反差对焦同时存在的,也就是混合对焦。在相位对焦或激光对焦无法工作的场景下,或当我们用触控的方式直接选择对焦点的情况下,手机依然还是会使用反差方式进行对焦。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2018年国赛高教杯数学建模D题汽车总装线的配置问题解题全过程文档及程序
  • OpenCV高阶操作
  • 耐压110V茂睿芯MK9019可以向下兼容MK9016
  • 找了一家征信公司,干了两个多月。。。
  • 【每日一诗】【诗词创作】【诗】《雨前秋夜》
  • mysql 修改索引
  • Spring Boot- 配置中心问题
  • 深度学习速通系列:TextCNN介绍
  • Ubuntu20.04点击文件闪退
  • 海康威视摄像机和录像机的监控与回放
  • 计算机毕业设计 家电销售展示平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 代码随想录算法训练营第13天|二叉树基础知识、递归遍历、迭代遍历、层序遍历、116. 填充每个节点的下一个右侧节点指针
  • CTFShow-反序列化
  • QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第五期]
  • Delphi5利用DLL实现窗体的重用
  • CSS魔法堂:Absolute Positioning就这个样
  • Docker: 容器互访的三种方式
  • es的写入过程
  • FastReport在线报表设计器工作原理
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Python 反序列化安全问题(二)
  • SQLServer插入数据
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue 动态创建 component
  • 阿里云购买磁盘后挂载
  • 百度小程序遇到的问题
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 利用DataURL技术在网页上显示图片
  • 漂亮刷新控件-iOS
  • 普通函数和构造函数的区别
  • 深入浏览器事件循环的本质
  • 使用API自动生成工具优化前端工作流
  • UI设计初学者应该如何入门?
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​ssh免密码登录设置及问题总结
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #NOIP 2014# day.1 T2 联合权值
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (03)光刻——半导体电路的绘制
  • (13):Silverlight 2 数据与通信之WebRequest
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (LeetCode 49)Anagrams
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (定时器/计数器)中断系统(详解与使用)
  • *** 2003
  • . NET自动找可写目录
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .DFS.
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)