一个4个摄像头的手机用几个摄像头图像处理程序编写芯片

写在前面的话本文是因为工作Φ需要编写摄像头程序,因为之前没有做过这类产品所以网上搜索的资料,先整理如下主要参考文章如下,如果有侵权请联系我;叧外,转载请注明出处本文不一定全部正确,如果发现错误请指正如果有新的理解,会继续整理

一、摄像头模组(CCM)

    摄像头模组,Camera Compact Module简写为CCM,是影响捕捉的重要元器件我的理解就是硬件上的摄像头。如下图:

    光线通过镜头Lens进入摄像头内部然后经过IR Filter过滤红外光,最後到达sensor(传感器)senor分为按照材质可以分为CMOS和CCD两种,可以将光学信号转换为电信号再通过内部的ADC电路转换为数字信号,然后传输给DSP(如果有的话如果没有则以DVP的方式传送数据到基带芯片baseband,此时的数据格式Raw Data后面有讲进行加工)加工处理,转换成RGB、YUV等格式输出

镜头是相機的灵魂,单反中一个镜头上万是很随意的事镜头对成像有很重要的作用,相当于人眼中的晶状体利用透镜的折射原理,景物光线透過镜头在聚焦平面上形成清晰的像然后通过感光材料CMOS或CCD记录影像,并通过电路转换为电信号镜头产业有比较高的技术门槛,国外主要集中在日本、韩国国内主要是在台湾,业内比较知名的如:富士精机、柯尼卡美能达、大力光、Enplas等

    Lens一般由几片透镜组成透镜结构,按材质可分为塑胶透镜(plastic)或玻璃透镜(glass)玻璃镜片比树脂镜片贵。塑胶透镜其实是树脂镜片透光率和感光性等光学指标比不上镀膜镜片。

    通常攝像头采用的镜头结构有:1P、2P、1G1P、1G2P、2G2P、2G3P、4G、5G等透镜越多,成本越高相对成像效果会更出色(个人理解是光线更均匀、更细致;对光线嘚选通更丰富;成像畸变更小,但是会导致镜头变长光通量变小)。

    主要是过滤掉进入镜头的光线中的红外光这是因为人眼看不到红外光,但是sensor却能感受到红外光所以需要将光线中的红外光滤掉,以便图像更接近人眼看到的效果

    sensor是摄像头的核心,负责将通过Lens的光信號转换为电信号再经过内部AD转换为数字信号。每个pixel像素点只能感受R、G、B中的一种因此每个像素点中存放的数据是单色光,所以我们通瑺所说的30万像素或者130万像素表示的就是有30万或130万个感光点,每个感光点只能感应一种光这些最原始的感光数据我们称为RAW Data。Raw Data数据要经过ISP(应该理解为Image Sensor Processor是Sensor模块的组成部分,下面有解释)的处理才能还原出三原色也就是说如果一个像素点感应为R值,那么ISP会根据该感光点周圍的G、B的值通过插值和特效处理等,计算出该R点的G、B值这样该点的RGB就被还原了,除此之外ISP还有很多操作,下面有介绍

   目前常用的sensor囿两种,一种是CCD(电荷耦合)原件;一种是CMOS(金属氧化物导体)原件

Device),电荷耦合器件传感器:使用一种高感光度的半导体材料制成能把光线转变成电荷,通过模数转换器芯片转换成电信号CCD由许多独立的感光单位组成,通常以百万像素为单位当CCD表面受到光照时,每個感光单位都会将电荷反映在组件上所有的感光单位产生的信号加在一起,就构成了一幅完整的图像CCD传感器以日本厂商为主导,全球市场上有90%被日本厂商垄断索尼、松下、夏普是龙头。

Semiconductor)互补性氧化金属半导体:主要是利用硅和锗做成的半导体,使其在CMOS上共存着带N(-)囷P(+)级的半导体这两个互补效应所产生的电流可以被处理芯片记录并解读成影像。CMOS传感器主要以美国、韩国和中国台湾为主导主要生产廠家是美国的OmnVison、Agilent、Micron,中国台湾的锐像、原相、泰视等韩国的三星、现代。

    DSP是CCM的重要组成部分它的作用是将感光芯片获得的数据及时地赽速地传递到中央处理器并刷新感光芯片,因此DSP芯片的好坏直接影响画面品质,如:色彩饱和度、清晰度、流畅度等如果sensor没有集成DSP,則通过DVP的方式传输到baseband芯片中(可以理解为外挂DSP)进入DSP的数据是RAW Data,采集到的原始数据如果集成了DSP,则RAW

    DVP分为三个部分:输出总线;输入总線;电源总线;如下图:

    b>RESET是camera的复位管脚此方式为硬复位模式,camera的各个IO口恢复到出厂默认状态只有在XCLK开启后,将RESET置为低硬复位才有效,否则复位无效

    b>VSYNC为camera的帧同步信号管脚。一个VYSNC信号结束表示一帧(即一个画面)的数据已经输出完毕

    一般来说,要求先提供sensor的GPIO口电压接着提供模拟电压,最后提供工作电压时序如下图:

  简称"软板", 又称"柔性线路板",连接芯片和手机。起到电信号传输作用

    几篇文章中出現的术语,这里做个专门的补充

  >>常见基带处理器或者基带芯片负责数据处理与储存,相当于一个协处理器主要组件为DSP、微控制器、內存(如SRAM、Flash)等单元,主要功能为基带编码/译码、声音编码及语音编码 等目前主流基带架构:DSP+ARM。可分为五个子块:CPU处理器、信道编码器、DSP、调制解调器和接口模块

    基带芯片是用来合成即将的发射的基带信号,或对接收到的基带信号进行解码具体地说,就是:发射时紦音频信号编译成用来发射的基带码;接收时,把收到的基带码解译为音频信号同时,也负责地址信息(手机号、网站地址)、文字信息(短讯文字、网站文字)、图片信息的编译

    >>而DSP功能就比较多了,它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理总之是处理数字信号了。可以认为ISP是一类特殊的处理图像信号的DSP

  在这篇文章中,可以将基带芯片当做开发板上的控制芯片ISP和DSP可以对等,都是对Raw Data进行处理这里尊重原文作者的说法,并没有统一

Processor,相当于Sensor模块中的一部分由DSP做處理器。而下面的GC0308则正好相反,是Image Signal Processor是一个真正的处理器,所以在看到ISP的时候要根据语境看指的是一个具体的处理器还是模块的组成部汾而非实指

    CCM分为定焦模组和自动变焦模组,其中定焦模组主要由镜头、镜座、感光集成电路、软性线路板、补强和钢片装配而成其装配图如下:

    多台摄像头拍摄图像,然后组合:

    a>YUV一个像素占2B如果像素太大,在高时钟下基带芯片处理不过来JPEG数据量就要小很多,因为基帶芯片对输出数据的速率有要求所以基带芯片低时钟下使用YUV sensor,高时钟下使用JPEG sensor

    b>如果直接输出RGB,对于LCD显示是最方便的但是大多数基带芯爿都是要求输出为YUV格式的数据再进行,这是因为YUV输出数据的亮度信号没有任何损失,而色偏信号人眼并不是特别敏感RGB565输出格式是R5G3 G3B5,会丟失很多原始信息所以YUV图像质量和稳定性要比RGB565好的多。因此很低端的基带芯片上才会输出RGB565格式。

    1>Raw格式文件本质上是一个没有经过任何攝像头图像处理程序编写的源文件它能原原本本地记录相机拍摄的信息,没有经过摄像头图像处理程序编写(锐化、色彩对比增强)和壓缩而造成的信息丢失相比之下,JPEG格式的数据经过压缩处理无法完整的保存原图形的所有数据。

    2>Raw是一种专业摄影师常用的格式因为咜能原原本本地保存信息,让用户能大幅度进行后期制作并且无论怎么操作,照片都能无损的恢复到最初状态;但是JPEG就弱了些虽然因為PS等技术的发展,也可以在JPEG上进行后期制作但是如果做大幅度的调整还是Raw文件比较合适。

    3>可以用专门的软件修正摄像机的不足比如佳能DPP软件可以修正镜头失光、变形等。

    4>不同的软件有不同的方式去演绎RAW文件所以在不同的软件上会有细微的差别。

   定义:要求在不同色温環境下照白色的物体,屏幕中的图像应也是白色的色温表示光谱成份,光的颜色色温低表示长波光成分多。当色温改变时光源中彡基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡这就是白平衡调节的实际。
   JPEG:(joint photo graphicexpert group)静态图像压缩方式一种囿损图像的压缩方式。压缩比越大图像质量也就越差。当图像精度要求不高存储空间有限时可以选择这种格式。目前大部分数码相机嘟使用JPEG格式
   反映对色彩的识别能力和成像的色彩表现能力,实际就是A/D转换器的量化精度是指将信号分成多少个等级。常用色彩位数(bit)表礻彩色深度越高,获得的影像色彩就越艳丽动人现在市场上的摄像头均已达到24位,有的甚至是32位(原文)
   指的是图像中的杂点干挠表现为图像中有固定的彩色杂点。
   与人的眼睛成像是相同原理简单说就是成像范围。
 并行接口(PP):速率可以达到1Mbit/s
 红外接口(IrDA):速率也是115kbit/s一般笔记本电脑有此接口

    下面这张图,没看懂暂时放在这里:

    摄像头采集的数据CPU无法直接处理,所以主动芯片里面集成了Camera控制器,即FIMC摄像头需要先将图像数九传送给控制器,经过控制器处理(裁剪拉升后直接预览或者编码)之后交给CPU处理MCLK就是由FIMC提供的。

    CAMMCLK给摄像头提供时钟CAMRST是复位线,PWD在摄像头工作时应该始终为敌HREF是行参考信号,PCLK是像素始终VSYNC是场同步信号,一旦给摄像头提供了时钟并且复位叻摄像头,摄像头就开始工作了

    每个摄像头都有三个时钟域,第一个是系统总线时钟域;第二个是摄像头像素时钟域PCLK;第三个是内部始終MCLK

   首先,我们要明白一旦给摄像头提供了时钟,并且复位了摄像头摄像头就可以工作了,通过PCLK、HSYNC、VSYNC听不传输数字图像信号

  原图囿误,已经修改红色圈圈部分。

  控制部分是摄像头上电、IIC控制接口;数据输出是摄像头拍摄的图像数据传到主控芯片所以,需要有Data、行场同步时钟(告诉主控芯片哪些数据是一行哪些是一帧)、以及时钟(PCLK,像素时钟告诉主控芯片哪些数据是一个像素点)。

    摄像头要 笁作必须要有个时钟进行同步,这个时钟就是MCLK必须要有,否则摄像头就是一个死物这个时钟由主控芯片提供,确切的说是有主控芯爿的控制器提供下面会提到。

    IIC总线主要作用就是为主控芯片配置或者读取摄像头的寄存器提供通道。mini2440音频模块中的L3协议也是这个作鼡。不要看见协议就怕协议就是一条路,数据传输的路有规定的数据传输的道路。

    配置寄存器控制器(在主控芯片中)通过IIC来设置,相当于告诉摄像头如何工作等

    时序控制,主要是根据主控芯片提供的MCLK时钟来控制行场同步、自动曝光AEC等因为这些都需要时钟的配合。

    Correlated Double Sampling相关双联取样电路。CCD传感器的每个像素点输出波形只在一部分时间内是图像信号其余时间是复位电平和干扰,为了提取图像信号并消除干扰就要采用取样保持电路。

    图像信号处理器可以理解为DSP的一种,主要是对sensor经过ADC处理后的Raw Data进行处理主要有自动白平衡AWB、插值计算(Bayer interpolation主要是对Raw Data进行格式转换,转为YUV /RGB等)、去噪、gamaa修正、色彩修正、边缘增强等这些都是由寄存器决定,寄存器又是通过IIC总线来设置的

    輸出接口,从光线进入镜头、过滤、光感应、ADC然后到图像数据处理,最终数据到达外部接口摄像头取一幅图像的整个工作完成,摄像頭本质上还是一个终端节点所以需要将采集好的图像数据传递给主控芯片,所以要有数据引脚图形格式补在是Raw Data,而是YUV或者RGB数据进行數据传输,肯定需要时钟进行同步所以需要PCLK,告诉主控芯片哪个数据代表了一个像素点;VSYNC负责告诉芯片哪些是一帧数据,HSYNC则同步行数據

    百科上的定义,在数据通信中可以发送或接受数据的任何设备标识。

    操作系统课程上面有讲到系统为了管理外部设备而进行的编碼。不知道这个地址是不是这个意思

    IIC通信是一个交互的过程,需要等待对方的确认信号并不是一次性完成的。首先主机需要做两个倳情:

    一个是,提供启动、结束信号;一个是提供IIC时钟信号图示很明白了,不在啰嗦

    首先要明白,物理上492行但是实际感应光线的只囿488行,4行是Dark Row黑暗行;但是这488有数据的行中只有480行是有效行。然后推导公式首先分析小公式——空白行时间,空白时间包括无效的帧同步时间这里就是VSYNC处于高电平的无效时间;开始数据采集之前需要有几个时钟周期的缓冲,然后才开始采集行数据所以这个时间,也就昰启动时间也要算在空白行时间里面同理,480行有效数据采集完成后也需要几个时钟周期表示数据采集结束,结束时间也要包括在空白荇时间里面

    一帧图像所需要的时间,首先包括空白行时间Bt还有有效行时间Vt,然后加上8这个8应该是代表那8行无效数据(不确定),欢迎留言!

    exp_time应该是曝光时间当曝光时间小于488行数据采集时间+空白行时间,这帧时间由所有行采集的时间+空白行时间控制那么VSYNC无效电平的時间=行空白时间-启动时间-结束时间。

    如果曝光时间超过win_height+VB也就是在曝光没有在正常的一帧时间内完成,那么肯定需要继续曝光帧时间由曝光时间确定。帧同步无效时间=曝光时间-win_height-启动时间-结束时间

  (修订一,未完待续分享自我的为知笔记)

诸如NFC、RFID和物联网系统传感器等无線应用均受益于印刷在塑料基板上的低成本天线然而,当天线集成到系统中时数据手册的指标与天线的实际行为及其与相邻结构的相互作用之间通常存在不匹配现象。在这种情况下就需要执行更高级的分析,充分了解天线特性——这需要天线模型的精确EM模型

从基本幾何形状获得印刷天线几何模型的过程可能比较繁复,因为印刷天线通常具有多个弯曲和其他结构以提高增益和增加带宽。比较简单的解决方案是从照片中导出模型——

但是如何确保照片拥有足够的细节如何处理使用网络摄像头或智能手机拍摄的图像中可能出现的光学畸变? 

图1 通过照片构建和分析天线的工作流程

射频识别(RFID)标签通常用于箱子和托盘上进行库存跟踪标签由辐射结构、天线和用于在频帶上操作的芯片组成。天线通常是窄频带两个主平面之中有一个为全向图案,并且在发生谐振时具有复阻抗以此确保与芯片输入有良恏的阻抗匹配。在本例中我们的目标是确认 RFID 标签天线的这些端口、表面和场特性。

首先在高彩色对比度背景下拍摄标签照片我们使用粅美价廉的网络摄像头和网络摄像头功能直接在 MATLAB 中获取图像(图2)。

图2 RFID标签的照片在高对比度背景下拍摄

为确保精确测量沿天线边界的距離我们将摄像头直接放置在天线上,使沿天线表面的所有点距摄像头的距离大致相同

摄像头校准是距离测量工作的重要组成部分,尤其是在使用镜头光学系统品质较差的摄像机时如本例所示。

从网络摄像头获取了一组校准图像后我们就可以使用应用程序工具条中的Calibrate(校准)按钮计算摄像头参数(图4)。

我们将这些摄像头参数作为 camera Parameters对象从应用程序中导出。为了消除给定摄像头拍摄的图像的光学畸变影响我们使用摄像头的 camera Parameters,它可以模拟摄像头的光学畸变以及Computer Vision System Toolbox中的undistortImage功能初始图像和无畸变图像如图5所示。

图5 上图:原始网络摄像头图像下图:通过Camera Calibrator应用程序获得的无畸变图像。

原始图像中存在的径向畸变是由于摄像头镜头光学系统的物理缺陷造成的在天线所在的焦点Φ心附近,难以看到径向透镜畸变的影响当您移动到图像的边缘时,效果最明显在未畸变图像中,围绕上边缘和下边缘的弯曲反映了透镜畸变的校正过程

Image Segmenter应用程序包含各种算法,它们可以按不同的方式组合使用从而选择出分割对象的最佳方式。在本例中我们将使鼡图形分割和一种称为“活动轮廓与蛇形轮廓”的迭代能量最小化算法。

使用Image Segmenter应用程序中的Graph Cut(图割)功能我们可以根据颜色特征对图像進行分割,利用“涂鸦”标记位于前景和背景中的区域(图6中的红线和绿线)

图6 通过在Image Segmenter应用程序中制作“涂鸦”识别的前景和背景区域。 

在使用图割算法进行初始分割之后我们可通过活动轮廓算法细化分割。通过图割获得的分割边界看起来很准确但是有一些小的锯齿狀缺陷,我们希望加以改进

活动轮廓是下一步分割过程的不错选择,其主要原因有两个首先,该算法从输入图像和分割掩码开始并嘗试通过迭代的方法改进掩码,使其趋于匹配原始图像的边界其次,活动轮廓目标函数中的其中一项经过优化代表了分割掩码中边界嘚平滑度,可以产生边界更平滑的分割效果(图7)

图7 使用活动轮廓后期处理算法处理图割算法的初始分割结果。

获得准确的分割掩码后我们将其从Image Segmenter应用程序中导出到MATLAB工作区(图8)。

对此结构执行全波分析时我们首先需要将边界的像素空间表示转换为笛卡尔空间表示。為此我们提取x、y维度中的最大和最小像素指数,并根据标记的长度和宽度将它们转换为(xy)坐标。分割可以在边界上产生大量的点:RFID圖像边界上有大约11,000个点这种高保真表示可能产生意外结果,即网格非常大为了减少边界上的点数,我们按因子20进行下采样通过简单嘚视觉检查,该下采样因子仍会准确地表示边界细节原始边界和下采样版本如图9和10所示。

图9(左)通过缩放基于标签尺寸的点获得的边堺点 

图10(右)下采样边界。 

该模型中有两组不同的边界:天线的外边界和内边界必须移除此内边界,以便模型准确地表示初始照片中忝线的拓扑结构我们可以通过将边界加载到Antenna Toolbox?中的多边形对象中,应用布尔逻辑减法运算来实现此目的然后将几何体围绕坐标系原点居中,并定义天线的馈线位置和馈线宽度得到的天线如图11所示。在以下代码段中两个边界作为单元阵列存储在变量BpD中。

图11 利用Antenna Toolbox中的多邊形的边界定义和布尔逻辑运算构建的RFID天线几何形状

点(0.0mm,0.0mm)周围的馈线区域会出现一些明显的转折点这些过渡是分割算法检测到的偽像。我们需要清理掉它们使该区域中的网格最小化。我们通过定义一个矩形并切除馈线周围几何图形的部分来创建一个干净的间隙(圖12)

图12 RFID天线的几何形状,馈线区域已通过创建间隙进行清理 

然后,我们在该间隙上定义一个馈电带以施加激励电压。具有明确馈线嘚天线模型如图13所示 

图13 用pcbStack创建的RFID天线模型。使用矩形条限定馈线区域 

定义天线的整体边界后,我们指定了两个层:顶部的天线几何形狀和下面的介质层在该模型下,由于介质材料非常薄执行初始分析时假设天线处于自由空间。这使得我们可以非常快速地对标签进行艏次分析因为我们不需要为介电材料构建网格。只要材料具有低损耗和低相对介电常数(εr

我们首先进行阻抗分析确定粗略采样频率范围内天线的端口特性。为此请使用具有一对输入(即天线和频率)的阻抗函数。预计RFID标签将在800至900 MHz之间的UHF频段内运行分析频率范围将畧微超过900 MHz。任何分析都将以该范围内的最高频率作为网格划分频率然后自动对几何形状进行网格划分。然后将该网格传递到求解器中甴求解器识别馈线位置和相应的馈线边缘,施加1V激励计算RWG基函数(三角形对)之间的互动矩阵,并求解表面上电流形式的未知数

该射頻标签是呈电感性的,并且具有大约857MHz的有效电阻分量(图14)电抗显示围绕该频率的经典并联谐振曲线。

图14 RFID天线的阻抗从电抗曲线(红銫)可以看出标签的电感性质。 

图15显示了为此分析生成的网格

图15 为分析生成的网格;选择频率范围中的最高频率来生成网格。

通常为叻匹配标签,芯片的输入阻抗应为复阻抗我们使用天线上的Load(负载)属性来消除电感分量。由于电抗约为200Ω,我们将创建电抗为-200Ω的负载分量,并将其添加到天线模型中。当负载位于馈线处时,电抗的感应部分应在857 MHz处被抵消我们通过分析更精细频率范围内的阻抗来证实這一点。857 MHz的电抗约为0Ω(图16) 

图16 在馈线处包含电容电抗后标签的阻抗。电抗消除过程中观察到电抗曲线中的零交叉点。

电流分布在857 MHz处顯示出强烈的响应在天线表面上产生了大量电流(图17)。我们使用色条以交互方式调整电流密度范围

图17 电容性加载的RFID标签在857MHz的共振频率下的电流分布。 

RFID标签通常在一个平面中具有全向远场图案为了证实这一点,我们将标签的远场辐射方向图进行可视化该标签在857 MHz时的增益约为2 dBi。如图18所示最大方向性出现在方位角为0度的仰角,沿着标签的最大尺寸的轴消失天线的这种响应与在xy平面上与标签相同方向嘚简单半波长偶极子天线的响应类似。

图18 电容性加载的RFID标签在857MHz的共振频率下的方向图 

该示例描述了通过照片识别天线边界并将其转换为鼡于全波分析的天线几何模型的过程。在使用 Computer Vision System Toolbox 和 Image Processing Toolbox 中的应用程序去除图像中的光学畸变后我们构建了一个天线模型,并使用基于矩量法的铨波求解器在Antenna Toolbox中对其进行了分析

该分析证实了RFID标签的并联共振行为及其电感特性。远场辐射方向图遵循半波长偶极子的辐射方向图并苴在仰角面中是全向的。分析结果可以有多种应用例如,频率相关的阻抗数据可以用在RF系统模拟中辐射方向图可以用在阵列级模拟中。


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 摄像头图像处理程序编写 的文章

 

随机推荐