基于传统视频采集系统的局限性以及嵌入式系统的诸多优点,本文提出了一种基于嵌入式Linux的视频采集与显示方案,将嵌入式系统应用于视频采集系统可以减小视频采集系统的体积,降低成本,且实时性方面也能得到很好的满足。
1.2 研究现状与发展趋势
(1)嵌入式系统的发展历程及研究现状
(2)嵌入式系统的发展趋势
1.3本文主要研究内容
本文在研究了视频采集系统及嵌入式系统发展现状的基础上,编写了基于嵌入式Linux系统的视频采集程序。以TQ2440开发板为平台,通过外接USB摄像头进行图像采集,然后利用framebuffer在LCD上进行显示;同时在SD卡中生成一个图片文件,用于存储采集到的图像。
本论文主要研究内容有:
(1)完成嵌入式开发环境的构建,并在此开发环境中编写、编译及调试程序。
(2)掌握V4L2接口标准及framebuffer的原理。
(3)编写基于V4L2和framebuffer的视频采集程序,实现视频的采集及视频在LCD上的实时显示,同时将采集到的视频存入SD卡中。
2 嵌入式系统的硬件平台
2.1 硬件平台概述
本论文所需设计完成的主要任务是将摄像头采集到的图像信息实时的显示在开发板的LCD上,并将采集到的图像信息保存到SD卡中。本文利用TQ2440 ARM9 开发板、ZC301P USB Linux 摄像头、计算机、天嵌科技提供的4.3寸LCD触摸屏、Kingston 2GB SD卡搭建了所需硬件开发平台,硬件平台的组成框图如下:
图2.1 硬件平台的组成框图
2.2 USB摄像头
摄像头作为一种视频输入设备,被广泛应用于实时监控、视频会议、等各方面。摄像头按其原理来分又分为数字摄像头和模拟摄像头。模拟摄像头采集到的视频信号必须经过专门的视频捕捉卡将模拟信号转换成数字信号,并加以压缩后才可以转换到计算机上运用。而数字摄像头可以直接捕捉影像,然后通过串口、并口或者USB接口传到计算机中。目前,市场上的摄像头普遍以数字摄像头为主,而数字摄像头又以USB数字摄像头为主。由于USB摄像头成本较低,且USB接口传输速度较快,所以本次论文中将使用USB摄像头[9]。
目前市场上的USB摄像头种类繁多,而此次我选择的摄像头是中星微 ZC301P USB Linux 摄像头,选择这款摄像头的主要原因是它可以在TQ2440上直接使用,插上即可识别,无需下载安装其它驱动程序,使用非常方便。其次是因为这款摄像头非常小,携带方便,其分辨率为640x480,采集到的视频信息可以比较清楚的显示在开发板的LCD屏上,而且它的价格很低。
USB摄像头的原理很简单:被拍摄的景物经过镜头转换成光学图像,然后光学图像经过图像传感器转换成电信号,再对其进行A/D转换即可得到数字信号,然后摄像头内的芯片对该信号进行加工处理,处理后的数据可以通过USB接口传送到开发板或电脑中。然后开发板上的微处理器可以对采集到的图像信息进行处理,并将其显示到LCD屏上。
2.3 ARM开发板
本论文所使用的ARM开发板是天嵌计算机科技有限公司生产的TQ2440开发板,TQ2440开发板是天嵌公司基于三星公司s3c2440的公版电路,优化设计而来。板载64 MB SDRAM、256 MB Nand Flash、2 MB Nor Flash。
TQ2440开发板接口丰富,本论文主要用到以下一些接口:
(1)USB接口(USB Host和 USB Slave)