同样在具体的算中,Y方向的差值方法如公式(3)。?是当前像素离wor像素所属区域远点的垂直距离。
Color(P)?(?(R2)?256?(?(R2)??(R1))??row)??16 (3)
2) 算法中Q12、Q22、Q11、Q21的选取
为了说明方便,将对四个点放大两倍为例来说明提取的过程,即源图像3*3放大为6*6区域,如图3-13:
图3- 13 6*6示例图
如此四点的位置便会出现以下四种可能性,如图3-14:
图3- 14 四点落位图
易得PixelColAddr=目标图像像素列号,ColDelta=PixelColAddr&255 InterQ21andQ22=ColDelta*(Q22颜色-Q21颜色)+Q21颜色*256 InterQ11andQ12=ColDelta*(Q12颜色-Q11颜色)+Q11颜色*256 目标像素的值: (
InterQ21andQ22*256+
(
InterQ11andQ12-InterQ21andQ22
)
*RowDelta)>>16
下面给出对一帧Bayer格式数据进行双线性插值的软件程序流程图:
输入目标位图宽、高 计算Q21行号 创建目标位图 计算Q21的列号 计算放大、缩小比 计算Q21的位置 计算Q21的列号 获取Q21的颜色 计算Q21的位置 Q21未落在获取Q21的颜色 原图末行 Y N Q21未落在原图末行 Y N 获取Q11、Q12、Q22颜色 Q11、Q12、Q22颜色与Q21等 获取Q11、Q12、Q22颜色 Q11、Q12、Q22颜色与Q21等 X方向插值 Y方向插值 X方向插值 像素值输目标图 Y方向插值 下一像素 像素值输目标图 到列末? 下一像素 Y Y N 到行末? N 到行末? Y N 结束
图3- 15 双线性插值转换一帧图像流程图
3.4.3 数字图像的LCD显示
LPC2478板内集成的LCD控制器完成了像素编码数据格式的转换,并为多种彩色和单色LCD屏接口提供了3种通用同步信号以驱动LCD:
1. RGB色彩空间的显示数据
2. 相应的同步时序信号,包括垂直同步、水平同步和像素同步信号 3. 对LCD的各种使能控制信号
因此只需对其内部的各个控制寄存器初始化配置后便可以较为简便的对LCD屏进行驱动显示。LCD控制器的初始化是对其内部的各功能模块的软件配置工作,包括:
? 引脚模块的初始化,对数据引脚、控制引脚在LPC2478引脚连接
模块的初始化配置;
? 时序控制器的初始化,用以产生对应LCD屏尺寸的水平、垂直同
步信号,通过二位扫描的方式显示图像;
? 显示屏时钟发生器的初始化,驱动LCD模块的二位扫描速率; ? AHB接口的初始化:
? AMBA AHB从机接口的初始化,如此CPU便可通过它访问
LCD控制器内部的寄存器和调色板RAM;
? AMBA AHB主机接口的初始化,使得LCD控制器以DMA的
方式将显示数据从所选的内存填充控制器内的DMA FIFO;
? LCD控制寄存器的初始化,包括对LCD电源使能、选择LCD屏
种类和位深、LCD使能等控制信号的初始化。
在完成对LCD控制器上述功能模块软件初始化后,即可叫容易的实现图像在LCD上的显示,图像显示的程序流程图如下:
开始 设置LCD时序 引脚选择并使能LCD功能 设置LCD极性和时钟信号 设置上屏基址 选择LCD类型及使能信号 禁能LCD控制和数据信号 禁止LCD中断 设置像素时钟为8MHz 延时后,使能数据输出 设置像素时钟为8MHz 图像显示
图3- 16 LCD图像显示程序流程图
3.1 本章小结
本章分模块化的介绍了系统图像采集的软件驱动,包括初始化模块、图像采集模块、处理显示模块的软件接口或驱动模块设计,给出了程序设计的原理及流程图,软件功能模块与前一章硬件相关模块设计遥相呼应,全面论述了嵌入式图像采集系统的软件驱动原理和流程,为下一章实验环节作了坚实的铺垫。
第四章 系统实验结果与分析
4.1 图像采集系统的组成
前面两章详细的介绍了基于ARM的便携式图像采集系统硬件、软件架构,本章将搭建实物进行实验调试从而验证设计的正确性与可行性。
首先给出系统的总体实物图,如图4-1:
图4- 1 系统总体实物图
图中可以看到系统总体的实物组成,整体工作流程为CMOS模块采集得到数字图像,图像采集模块完成CMOS同步信号的捕获及图像数据的缓冲,最后在ARM开发板进行处理存储显示。 4.2 图像采集系统的测试实验与分析
为了实现系统设计具有良好的可裁剪性和可维护性,类似前面软硬件的设计方法,测试实验部分也分模块的进行调试链接,主要分为以下三个实验进行:
? ARM的数据存储读写实验
? 图像采集有效像素点(错帧率)实验 ? ARM采集速率与LCD显示速率匹配实验 4.2.1 ARM的数据存储读写实验
首先将ARM开发板的JTAG调试接口通过外部ARM的专用仿真器JLINK与PC机相连接,在ARM集成开发工具ADS(Arm Developer Suit)内集成的调试器AXD中设置完毕后,出现图4-2的信息界面表面内核与PC连接完毕。