1. 前言

博主作为一个camera驱动码农,在刚接触camera知识的时候难免有点转变不过来,难以接受,博主也深有体会。看着厚厚的camera datasheet,不知道如何下手编写驱动代码。但是在编写代码之前,必须还是先要理解camera的基础知识,否则是不可能写出较好的驱动程序。本章主要以自己对于camera的理解,简单介绍一下camera模组的结构。

2.camera模组结构

摄像头模组(camera module)一般都有如下的几部分构成,分别是镜头(lens)、图像传感器(image sensor)、基排、排线所组成,如下图所示:

图 1.  模组结构图

如果是带有AF功能的摄像头模组(一般为手机摄像头),大多数都是采用VCM的方式,比上述的结构多一个线圈,通过给线圈加点使镜片垂直移动,从而达到对焦的功能。如果是带有防抖功能的摄像头,则是使得镜头也能够沿着水平方向移动,达到一个光学防抖的效果。

图2. 手机摄像头模组图

图3. 带AF功能模组结构图

我们常常说的sensor是指包装在模组里面的sensor soc,而模组一般是由专门的模组厂购买sensor soc之后根据需求自行选择不同的材料制作出不同规格和质量的模组,因此虽然是同一个型号的sensor,如果是不同的模组厂生产的,那么电路的连接,使用方法也是各不相同,具体的电路还需要根据模组厂提供的电路图为准。我们平时所讲的ov2640模组,指的就是它内部使用了ov2640的soc的模组。同时,即使是同一个厂家生产的模组,由于搭配的镜头不同或者其他的硬件上有一些差异,也会出现多个型号,镜头也是影响摄像头输出图像质量的一个重要因素。

对于摄像图的datasheet,是指摄像头原厂对其soc说明的datasheet;而模组的datasheet,则是指某个使用该sensor soc制作模组的模组厂对其光学特性,电气接口的描述文档,我们需要根据电气连接顺序安排原理图与主控的连接关系,或者我们反过来,根据我们的主控电路接口定义要求模组厂制作适合该主板的模组。

一般来说模组厂还会说明好vcm的型号,vcm driver型号。

3、摄像头模组选择

摄像头模组中sensor和镜头一般已经占了成本的90%以上,出来的画质也是由这两个所决定的。

(1)、根据你所能接受的价格,主板的接口,以及你需要的拍照和录像的分辨率,选择最合适的sensor

sensor的价格通常也占了模组价格的40%-60%,在保证分辨率/帧率能够满足要求,一定的成本下选择感光性更好,像素面积更大的sensor。

(2)、根据你所需要的sensor的用途,选择尺寸,视场角合适的镜头,如果需要视场角大的镜头,那么可以选择鱼眼摄像头(也就是我们通常说的广角摄像头)。但是对于鱼眼摄像头拍摄出来的图片,会有感觉有畸变的效果,实际上如果这种畸变效果也可以自己实现畸变的校正。

镜头主光线角度(CRA)要跟sensor的CRA一致,一般来说允许可以有少量的差异,否则会导致光线经过sensor表面透镜后,不能入射到正常的像素感光区域,如果后面的ISP处理不当,画面会出现迷宫格。  sensor存在CRA的原因是表面集光采用的微透镜有FOV(Field of view)的问题,因此超出的部分光线无法被手机;LENS的CRA就是最大像高处的珠光线与光轴的倾角;如果LENS与sensor的CRA不搭配的话,像高较大的位置,光线就无法被有效的收集,shading会被加重;

       

图4. 不带CRA校正的微透镜                                           图5. 无CRA校正时捕捉的图像显示阴影

        

图6. 带CRA校正的微透镜                                                    图7. 有CRA校正时捕捉的图像

camera基础知识——1、camera模组简介相关推荐

  1. NB-IOT(4)---移远NB-IOT BC26模块模组简介和实际应用方向详解

    移远NB-IOT BC26模块模组简介和实际应用方向详解 继BC95和BC28之后,2017年底移远在杭州发布了基于MTK平台的新款NB-IOT BC26模组. BC26基于联发科MT2625芯片平台 ...

  2. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之01物联网模组简介

    本系列博文将系统性讲解物联网模组系列的实际使用和调试指南,以移远4G模组EC20为例(其他厂家模组的调试方法大同小异),加快嵌入式软硬件工程师对物联网模组调试和使用的上手速度,让你们的项目进度尽可能快 ...

  3. MTK Camera 基础知识

    文章目录 数字成像系统流程综述 曝光 对焦马达 镜头(lens) MIPI数据与RAW数据的转换(未完待续) ISP的主要内容和Bayer Raw的处理 RGB.YUV和YCbCr三种颜色空间 补充 ...

  4. Unity3D基础知识之Camera摄像机及其属性

    Unity3D基础知识之摄像机Camera 一.简介 Camera:附加了摄像机Camera组件的游戏对象,向玩家捕获和显示世界的设备,同时在一个场景中摄像机的数量不限. 组件:Transform:变 ...

  5. camera基础知识(1)

    目录 camera module 镜头lens 光圈快门 音圈马达VCM 滤光片 image sensor: 摄像头工作原理大致如下 camera作为android系统中庞大的一个模块之一,camer ...

  6. 手机Camera基础知识

    本文转自http://blog.csdn.net/xubin341719/article/details/7723725 自己修改了一下: 里面讲的东西都比较基础: 一.摄像头模组(CCM)介绍: 1 ...

  7. Camera | 1.Camera基础知识

    一口君最近在玩瑞芯微的板子,之前写了几篇基于瑞芯微的文章,大家可以学习一下. <瑞芯微rk356x板子快速上手> <Linux驱动|rtc-hym8563移植笔记> <L ...

  8. android camera 显示过程,Android相机Camera基础知识

    一.概述本章节主要讲述的Android相机Camera的相关知识点,主要包含三个方面,Android启动系统相机生成缩略图.Android启动系统相机生成原图以及Android自定义相机等. 二.An ...

  9. 摄像头模组简介与质量管控(连载三)

    FROM:http://www.ci800.com/news/htmlnew/2012-4/33592.htm 上期和大家分享了A类核心芯片的质量管理,本期给大家讲述手机中被称谓"眼睛&qu ...

最新文章

  1. C#学习笔记(一)变量 常量 基本数据类型 其它
  2. 【干货】精通网红OSPF协议---进阶篇
  3. 卡顿严重_王者峡谷:S20出现bug?卡顿十分严重
  4. webBroser获取cookie
  5. 安卓系统内 的 安卓虚拟机
  6. Linux的实际操作:任务调度基本说明
  7. html5善于盒模型定位,2个小时上手html+css-003盒模型和定位
  8. 高品质美食PSD分层海报,吸睛有食欲
  9. Python Tricks —— 计算 1+1/2+1/4+...=2
  10. 文件管理系统源码_【程序源代码】人力资源管理系统
  11. idea修改项目编码
  12. SpringBoot(尚硅谷)
  13. LINUX MPEG4 DVR源代码,还包括一个可以跨平台运行的MPEG4 播放器(需要XVID与SDL开发库包)
  14. 从简单泛函到第二类拉格朗日方程
  15. Java类和对象:private/public/friendly/封装
  16. Ubuntu安装google中文输入法
  17. 流量、电量、弱网环境怎么测?
  18. NOIP2010导弹拦截
  19. ValidationError: Progress Plugin Invalid Options报错options should NOT have additional properties
  20. 植物肉品牌Z-Rou株肉举办杭州超级粉丝见面会,正式宣告进入杭州市场

热门文章

  1. 信息增益比 vs 信息增益
  2. mysql psm 编程_【SQL】持久性存储模块PSM
  3. Linux 关机/重启指令
  4. C8051F500 C8051F50X CAN总线收发数据 中文寄存器
  5. excel制表基础:规范的制表理念和思路让效率提升 上篇
  6. 详述BERT fine-tune 中文分类实战及预测
  7. laravel5.5实现支付宝支付
  8. 【Unity植物大战僵尸】僵尸生成和排序问题(十五)
  9. 计算机在本专业的应用小论文,计算机应用论文毕业范文范例
  10. ps aux stat状态解释