双摄像头系列原理深度剖析【转载】
原文连接:双摄像头系列原理深度剖析-设计应用-维库电子市场网 (dzsc.com)
如之前文章介绍,双摄像头的应用主要分为:距离相关的应用,光学变焦,暗光补偿以及3D拍摄和建模。每种应用的原理都有些不同,我们就分别介绍一下相关的原理:
距离相关应用
人眼是很容易对一个物体的距离进行定位,但当人闭上其中一个眼睛后,定位能力就会下降很多。
双摄像头就是模拟人眼的应用。
简单的说,测距离的话,就是通过算法算出,被拍摄物体与左/右摄像头的角度θ1和θ2,再加上固定的y值(即两个摄像头的中心距),就非常容易算出z值(即物体到Camera的距离)
不过这也很容易推算,若两个摄像头中心距过小的话,可计算的物体距离就会很近。若想算出很远距离,就必须让左右摄像头的距离拉远。
光学变焦
光学变焦主要是左右摄像头使用不同的FOV(可视角),这样两个摄像头取景不同。当用户需要广角照片,则用视角为85度的左摄像头取景,获得广角效果。当用户需要长焦照片,则用视角为45度的右摄像头取景,获得长焦效果。
为了使左右摄像头拍摄的物体重叠度高,光学变焦的双摄像头模组不能像做距离应用的摄像头的模组那样距离过大,而是需要将左右摄像头摆得越近越好。
暗光增强
其实第二篇的时候,小编已经简单介绍过暗光增强的原理。一般来讲,做暗光增强就是将两个摄像头一个用RGBG的标准摄像头,一个用去掉RGBG 滤波片的黑白摄像头。RGBG用来获得物体的色彩,而黑白摄像头用来获得更好的进光量,来判断被拍物体的光强强度。然后将两个图片融合即可获得更好的暗光增强。
只是一般来说,有两种融合方法:
1. 以黑白图片为主体,将彩色图片上获取的每个像素的颜色贴至黑白图片上,将两种图片融合。
2. 以彩色图片为主体,将黑白图片上获取的每个图像的光亮强度补偿到彩色照片上,将两种图片融合。
至于哪种方式更合适做融合,可能仁者见仁智者见智,就不在这展开讨论了。
同样,做暗光增强,为了让左右摄像头拍摄的物体重叠图高,此类双摄像头模组也是要求越近越好。
需要说明的事,华为P9 其实选用的就是这个方式的模组。
当然有些业内人士也表示这种算法目前做的效果并不明显。暗光补偿对用户来的确很帮助,尤其拍夜景的时候。不过有些客户认为索尼和三星的Dual PD技术就非常好,更愿意用Dual PD 摄像头来做暗光补偿。
到底是双摄像头还是Dual PD的暗光补偿效果好,大家可以比较一下华为P9和三星的Galaxy S7 edge,就会有答案了。
3D拍摄和3D建模
3D拍摄和3D建模的算法其实跟距离应用有点类似,只是它的精度要求更高,甚至有时会需要用红外测距进行更准确的距离判断。在这里小编就不详细展开介绍了。
对ISP的要求
提到双摄像头的算法,不得不提到ISP(Image Signal Processing 图像信号处理器),ISP主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了手机的成像质量。
功能机时代,ISP都是做在摄像头上的,不同像素的摄像头搭配不同性能的ISP。随着手机摄像头像素越来越高,对ISP性能的要求越来越高,若将ISP集成到摄像头Sensor上,势必造成摄像头的模组过大,甚至影响拍照效果。所以智能机时代,ISP一般都是在主芯片SoC上。部分品牌客户为了实现更好的效果,甚至不惜成本的外加一颗ISP用来达到更好更的拍照效果。
好的拍照算法就需要搭配好的ISP,ISP和算法相辅相成,缺一不可。而双摄像头对ISP性能要求更多。首先,为了使的左右摄像头的信号能够同时被处理,单一的ISP已经无法满足双摄像头的需求。这就需要双路ISP实现此功能。
以暗光增强为例,彩色/黑白图像分别进入各自的ISP通道和校准通道,然后将两副图片做匹配(如将两幅图片相同的部分提取出来,去除只有一个摄像头拍到的部分),然后通过遮挡,检测,补偿等算法 处理相关的图片。将两幅图片融合起来,实现颜色的增强。当然实际上ISP配合算法做的事情,远远比这图片上写的要多。小编实在不知道,就不在这误导大家了。
当然,在这里面也有一个小小的插曲。毕竟是两个ISP,两个ISP多少有一些处理速度,处理能力不同的问题。为了保证两个ISP能在同一时间上取样,就需要双摄像头拍出来的图片是同一时间拍出来的。其中一个解决办法就是让Sensor有一个同步信号引脚。将两个摄像头的同步信号对接,在每次读取图片时,将图片都打上一个时间戳,ISP通过时间戳,保证左右摄像头拍出来的照片在同一时间拍摄,终再进行融合。
摄像头的接口
一般来讲,目前的智能手机的摄像头接口都是MIPI接口。之前手机平台都只有2路MIPI接口,分别给前摄像头和后摄像头。做双摄像头,就要求平台至少支持三路MIPI接口。其实在之前的高端平台上,为了实现更高像素,已经用双路ISP了(比如为了支持16M的摄像头,会用2路8M能力的ISP),这类平台很有可能只有两路MIPI。但这个无法阻止工程师去做前单摄像头+后双摄像头。
没错,加一个小小的Swtich,就可以轻松实现双摄像头。
双摄像头系列原理深度剖析【转载】相关推荐
- camera (13)---智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono
智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono 由于双摄技术的快速发展,目前已经衍生出了几种不同的双摄硬件和算法配置解决方案.不同手机厂商可能有不同的双摄配置,比如华为荣耀P9 ...
- git原理详解与实操指南_全网最精:学git一套就够了,从入门到原理深度剖析
以上资源收集至互联网 如有侵权请联系删除 资源获取方式 扫码关注资源库公众号 回复密码'20190812' 即可获得 截图展示 课程信息 课程难度:中级 学习人数:148352 课程状态:已完结 时长 ...
- 唯一插件化Replugin源码及原理深度剖析--插件的安装、加载原理
上一篇 唯一插件化Replugin源码及原理深度剖析–唯一Hook点原理 在Replugin的初始化过程中,我将他们分成了比较重要3个模块,整体框架的初始化.hook系统ClassLoader.插件的 ...
- 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)
点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 本篇文章来自<华为云云原生王者之路训练营>钻 ...
- 云原生钻石课程 | 第5课:Kubernetes存储架构原理深度剖析(下)
点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 本篇文章来自<华为云云原生王者之路训练营>钻 ...
- 【云驻共创】华为云云原生之Kubernetes网络架构原理深度剖析(上)
文章目录 前言 一.Kubernetes诞生背景 1.云原生的概念 2.云原生架构 3.Kubernetes(k8s) 二.Kubernetes基本网络模型剖析 1.概念厘清 1.1 二层桥接 VS ...
- 布隆过滤器原理深度剖析
HBase布隆过滤器原理深度剖析 1. 数据结构与原理 1.1 初始化 1.2 变量映射 1.3 变量检索 1.4 总结 2. 过滤器特性 2.1 误判率 2.2 判断特点 3. 案列代码 1970年 ...
- Mysql binlog应用场景与原理深度剖析
1 基于binlog的主从复制 Mysql 5.0以后,支持通过binary log(二进制日志)以支持主从复制.复制允许将来自一个MySQL数据库服务器(master) 的数据复制到一个或多个其他M ...
- 智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono
本篇博客同步发表在我的个人公众号:计算机视觉life 前一篇介绍了为什么会出现双摄像头(简称双摄)手机以及它的典型应用,下面来分析一下双摄的工作原理. 由于双摄技术的快速发展,目前已经衍生出了几种不同 ...
- 手机双摄像头工作原理详解:RBG +RGB, RGB + Mono
由于双摄技术的快速发展,目前已经衍生出了几种不同的双摄硬件和算法配置解决方案.不同手机厂商可能有不同的双摄配置,比如华为荣耀P9采用的就是黑白相机+彩色相机的硬件配置,而iPhone 7 plus采用 ...
最新文章
- 微信小程序打开红包的css_山海经攻略(微信小程序现金红包提现游戏)
- 怎么制作升温曲线图_利用金字塔原理制作PPT,完整有逻辑
- 安装mysql5.7出现问题_本地安装Mysql5.7过程中出现的一系列问题
- NoClassDefFoundError: org/mybatis/logging/LoggerFactory
- javase(Properties集合及学生对象信息录入文本中案例)
- 适用于树莓派Raspberry Pi的嵌入式QT平台(二) -- 在Windows下用Qt Creator开发编译Raspberry Qt 5应用程序...
- 【体系结构】buffer cache的个人理解
- ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
- ASP.Net页面保存持久数据的几种方法比较
- ios 注册功能研究学习
- zepto部分报错及解决方案
- 虚拟化:侧信道攻击案例
- 家政服务微信小程序开发
- linux系统设置成中文语言
- 概率图模型(快速入门必备)
- 大神教你用Python破解压缩文件zip密码
- md文件如何打开,如何转html(无需破解)typora下载
- 推销员基础解法c++
- VOT数据集自动/手动下载
- 头条是一款遵循材料设计(Material Design)的第三方今日头条客户端, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJa
热门文章
- python开发要学什么_运维为什么要学编程?编程为什么是Python?
- Diligent推出现代治理应对危险的治理赤字问题,并宣布举办首届现代治理峰会
- linux 模拟误码率,基于System View的比特误码率测试的仿真研究
- 自定义Drawable 实现图片圆角、圆形、椭圆形
- Android 项目必备(十七)-->实现身份证认证功能
- 转专业申请麦吉尔大学计算机,加拿大大学转专业申请秘籍
- Android跳转到应用商店详情页面
- 2005中国千强镇名单
- arrayblockingqueue java_Java ArrayBlockingQueue take()用法及代码示例
- 一个脚本教你快速去除桌面图标烦人的小箭头