基于CMOS图像传感器的嵌入式图像采集与格式转化 |
摘 要: 开发了一种基于CMOS图像传感器的嵌入式图像采集系统。该系统实现了图像有效采集传输的功能,将采集到的Bayer格式数据转化为RGB格式,采用嵌入式系统有利集成化、小型化设计。 关键词: CMOS图像传感器;DSP;Bayer格式;图像采集 引 言 图像传感器作为一种基础器件,可以实现信息的获取、转换以及视觉功能的扩展,并且还可以给出直观、真实、多层次、内容丰富的可视图像信息。CMOS图像传感器自上世纪70年代开始研制,但由于工艺上的原因,一直因为光照度灵敏度低、噪声高、图像分辨率低等缺点而没有得到发展,与CCD图像传感器比较可知,CCD图像传感器需要在外部配接放大器、模数转换器等,因此会有体积大、读出速度受限等缺点,而CMOS图像传感器则将整个图像系统集成到同一块芯片上,有集成度高、占用空间小、功耗小和造价低等优点。因此,随着技术的进步,CMOS图像传感器得到越来越多的重视,成为研究的热点。 在本系统的设计中,应用MICRON公司的MT9T001型CMOS图像传感器配合TI公司的DM642型处理器实现嵌入式图像采集系统。该系统将采集到的图像,经DSP进行格式转化后传输到显示器上进行显示,具有体积小,成本低,可靠性高,安装方便等优点。 系统设计 本图像采集系统主要由CMOS图像传感器,DSP及处理电路组成。其采用的具体实现方案是当CMOS图像传感器被配置好,收到开始采集的信号后,开始图像的采集,并将采集到的图像信息送入DSP,为后面的图像格式转化、处理和显示做好准备。DSP将CMOS图像传感器采集到的图像数据存入片外存储器SDRAM中,以便进行处理,并根据具体的图像识别算法要求,进行数据的处理,并将结果传输到显示器上进行显示。其系统框图如图1所示。 CMOS图像传感器 本系统选用的CMOS图像传感器是MICRON公司的MT9T001。这是一款1/2英寸、有效像素为300万像素(2048×1536)的CMOS彩色图像传感器。 芯片可以在其默认的模式下工作,也可以由用户自己编程设计帧大小、曝光时间、增益或者其他参数。在默认模式下,输出一幅QXGA图像(2048×1536)其速度可达12帧每秒,输出一幅VGA图像(640×480)其速度可达93帧每秒。片上集成10bit模数转换器,行同步LINE_VALID和帧同步信号FRAME_VALID有专用的输出引脚,同像素时钟PIXCLK一样,与有效数据同步。芯片内部还集成了放大器、时钟控制电路(反相,相位调节)、图像大小调节、圆点定位、白平衡调节、曝光调节、帧速率调节等众多功能电路,并且所有这些控制都通过一个串行总线口进行操作(SCLK和SDATA)。 在本系统中选择高像素的CMOS图像传感器,可直接将采集到的图像信息转换成数字信号输出,省去了模数转换器的使用,有效地简化了系统的硬件设计,并且由于本系统应用于显微图像的采集,因此,高像素的CMOS图像传感器可以使拍摄的图像更加清晰,有利于简化后续的图像处理。 DSP主处理器 在本系统设计中,采用嵌入式系统对传统的光学显微镜的观察方式进行一定的改进,采用高速数字信号处理器完成图像的处理,传输等功能,有效的减小了仪器的体积,便于系统的集成化和小型化设计。在DSP的选择上,本系统选用TI公司C6000系列的TMS320DM642型数字多媒体处理器。这是一款高性能DSP,基于C64x内核,扩展的高级甚长指令字体系结构,具有64个32位通用寄存器,8个独立计算功能单元,其中包括两个乘法器和六个算术逻辑单元,可以并行运行,因此可同时执行多条指令。DM642采用两级缓存结构,64个独立通道的EDMA控制器。此外,DM642还具有丰富的外围设备接口。 在本系统工作时,DSP通过视频口接收由CMOS图像传感器传来的图像信号,采用外部内存接口(EMIF)实现与Flash和SDRAM的数据存储,交换。同时,使用DSP作为处理器也可以为后续的识别算法做一定的准备。 系统采集程序 在本系统中,单帧图像采集的过程如下:系统上电后,程序从Flash自举,从而完成程序的导入及初始化工作。DSP通过I2C总线发出信号,对CMOS图像传感器进行配置,当CMOS图像传感器开始工作后,将采集到的图像信息转化为数字信号,送入处理器DM642,图像数据首先存入DM642视频口的FIFO,当达到FIFO内设定的阈值时,DSP发出信号启动EDMA通道,对FIFO中的图像数据进行搬运,将其存入SDRAM中,再由DSP对SDRAM中的图像数据进行进一步的处理,将处理后的图像数据送入SDRAM的另一地址区域,发出启动信号令EDMA将处理后的图像数据运送到输出视频口的FIFO中,再经过图像编码芯片编码后传送到显示器上进行显示。 图像格式转化算法设计 本系统所选用的是MICRON公司的MT9T001型300万像素CMOS图像传感器,是通过彩色滤波阵列(CFA)获得图像的彩色信息,而这样采集的图像信息在每个像素的位置上只有一种颜色分量可以获得,要复原另外两种缺少的颜色分量,就必须通过相邻的像素进行估算,这个过程就叫CFA插值。它所输出的图像格式为Bayer格式,即奇数扫描行分别采集和输出R、G、R、G……,偶数行分别采集和输出G、B、G、B……,其一般格式如图2所示。 图2 Bayer格式示意图 CMOS图像传感器光敏区域内的每个像素点对应一种色光,其中,R感应红光,G感应绿光,B感应蓝光。在这种Bayer格式的图像中,图像一半的像素分配给G分量,而R和B分量则占图像的另一半像素。因为G分量是R、B分量的两倍,所以如果G分量采用好的插值方法,不仅可以提高G分量的质量,还可以提高R和B分量的质量。 在本系统的设计中,是要将采集到的图像传输到显示器上进行显示,因此需要将采集到的图像信息转化为便于显示的RGB格式。在格式转化方式的选择上,使用双线性差值法将CMOS图像传感器输出的Bayer格式的图像信息转化为RGB格式。其基本原理是将每个像素位置上缺少的另外两种彩色分量通过以它本身为中心的邻域内具有相同分量的像素平均值获得。 图3 Bayer格式的像素点编号 根据图3所示的像素点编号,G1、R2两个像素点的双线性差值法的计算公式为: 式中,为格式转化后G1点的RGB三种色彩的分量,为格式转化后G2点的RGB三种色彩的分量,同理,B分量的格式转化计算方法与R分量类似。采用此种方法的优点是运算简单,易于实现,占用硬件资源比较少;但也存在着一定的缺陷,即在色彩转化的过程中忽略了边界的问题,在今后的算法设计中,可以加以改进。 实验结果 根据系统的设计要求,搭建了实验平台,使用CMOS图像传感器采集到了图像,并对Bayer图像格式转化算法进行了软件仿真。为了能更直观的检测出实验系统的性能,将系统采集到的图像同数码相机所拍摄到的图像做了对比。数码相机拍摄的图片如图4所示。依照系统的硬件和采集程序的设计,CMOS图像传感器采集到的图像分辨率为2048×1536,如图5所示。经双线性差值法转化为RGB格式的图像如图6所示。 图4 数码相机拍摄的图像 图5 CMOS图像传感器采集到的图像 图6 经格式转化后的RGB图像 由上述三幅图分析比较可知,MT9T001型CMOS图像传感器可以采集到比较清晰的Bayer格式图像,经双线性差值进行格式转化后,可以基本还原图像的本来色彩。 结 语 CMOS图像传感器是继CCD图像传感器发展之后深受欢迎的多功能摄像器件,拥有集成度高、功耗低、成本低等优点,随着工艺的发展,结构的改进,CMOS图像传感器的性能也将不断提高,具有广阔的发展前景。应用嵌入式系统进行图像的采集,有利于系统的小型化设计,将灰度的Bayer格式图像转化为彩色的RGB格式,使图像的可视性更好,应用范围更广。 |