基于ARM和Linux的视频图像采集系统.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM和Linux的视频图像采集系统 摘要:提出了一种基于s3c2440arm处理器、usb摄像头硬件平台和嵌入式linux操作系统的视频采集系统方案。研究了usb摄像头在linux中的驱动开发,对系统总体结构、基于v4l2的视频采集以及视频动态显示应用程序等功能模块设计做了具体介绍。试验结果表明,本系统实现了在lcd显示器上动态显示usb摄像头采集的图像,且视频采集稳定,图像帧过渡平稳,提供了一种成本低、体积小、功耗低的图像采集方案,能够很好地应用在视频监控等系统中。关键词:视频采集;s3c2440;linux;v4l2;qtopia 随着嵌入式系统、网络和图像信息技术的渗透,以及对设备体积和无线的要求越来越多,以嵌入式体系为核心的图像采集系统已成为研究热点。其中,嵌入式系统具有功耗低、体积小和集成接口丰富等优点[1];嵌入式linux系统具有源代码开放、内核稳定、可裁减性、支持硬件广泛及驱动丰富等特点,成为嵌入式系统领域不可或缺的操作系统之一;usb摄像头具有性能好、价格低、使用方便、易于集成到嵌入式系统等特点,在视频监控和网络视频会议等领域有广泛应用[2]。 本文以开发成本低、体积小、功耗低的嵌入式图像采集系统为目标,采用arm9处理器s3c2440和usb接口的摄像头组成硬件体系,采用嵌入式linuxos和qtopia文件系统构建应用系统,通过编写usb摄像头驱动和qt视频显示程序实现视频采集和视频显示程序,很好地完成了图像采集的功能。由于本系统成本低、扩展简单、体积小,能够很好地扩展到和视频相关的很多领域[3]。1系统硬件设计 系统硬件总体结构,嵌入式处理器采用三星公司的基于arm920t内核的16/32位risc嵌入式微处理器s3c2440,其主频高达400mhz,内置丰富的外设资源,包括存储器、lcd控制器、串口、i2c、i2s和usb等接口控制电路,主要面向高性价比、低功耗的应用,适合于图像和视频处理。flash存储器采用64mbnand存储器用于存放linux操作系统启动引导程序bootloader、linux系统内核、qt文件系统及系统掉电后要保存的数据。sdram中用于存放linux系统运行时的一些临时数据。lcd显示器大小为4.3英寸,480×272分辨率,并带有触摸屏[4]。 目前用作摄像头的掌控芯片组主要有中芯微公司的zc0301p和美国ov公司的ov511+芯片。国内市场上的usb摄像头基本上使用的就是zc0301p,并且中芯微公司的主流掌控芯片都具有硬件jpeg编码模块,利用这个特性可以轻易从摄像头获得经过放大的图片格式,可以精简应用软件的设计,因此本设计使用zc0301p芯片的130万像素的usb摄像头。 在硬件系统中,通过usbUSB将摄像头与s3c2440相连。利用u 件实现的细节,使得应用程序可以像操作普通文件一样来操作外部设备,可以使用和操作文件中相同的、标准的系统调用接口函数来完成对硬件设备的打开、关闭、读写和i/o控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。 对于usb口摄像头,其驱动程序中提供了基本的i/o操作接口函数open、read、write、close的实现以及对i/o通道的控制接口函数ioctl的实现等,并定义在structfile_operations中。 video4linux2(v4l2)是linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的tv卡、视频捕捉卡和usb摄像头等。linux内核提供video4linux2应用程序接口,在程序开发时首先是基于video4linux2api函数来设计程序[6]。3.2video4linux2下的摄像头采集编程 在usb摄像头被驱动后,只需要再编写一个对视频采集的应用程序就可以了,根据嵌入式系统开发特征,先在宿主机上编写应用程序,再使用交叉编译器进行编译链接,生成在目标平台的可执行文件。宿主机与目标板通常采用打印终端的方式进行交叉调试,成功后移植到目标平台。本文编写的视频采集程序是在安装linux操作系统的宿主机pc上进行的,下面是具体论述[7]。 程序中定义的重要数据结构为: structv4l2_capabilitycap; structv4l2_fmtdescfmtdesc; structv4l2_formatfmt; structv4l2_requestbuffersreq; structv4l2_bufferbuf; 这些数据结构都是video4linux2支持的,它们的用途如下。 (1)v4l2_capability包含摄像头的基本信息,例如设备名称、支持的最大及最小分辨率、信号源信息等,分别对

文档评论(0)

亦起学 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体湖北亦贤科技有限公司
IP属地陕西
统一社会信用代码/组织机构代码
91421023MA4F181CXD

1亿VIP精品文档

相关文档