资料
  • 资料
  • 专题
基于VideoForLinux的USB摄像头视频采集和基于Qt/Embedded的实时图像显示
推荐星级:
时间:2019-12-22
大小:760.7KB
阅读数:146
上传用户:微风DS
查看他发布的资源
下载次数
0
所需E币
3
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
FS2410开发板上,Linux是2.6的内核,Qt/Embedded是2.3.7版本的,USB摄像头主控芯片是中星微301P。摄像头驱动是spca5xxx,使用Video For Linux采集到jpeg图片,然后使用Qt/Embedded进行显示。 全部程序包含两个部分视频采集和图片显示。 只包含视频采集部分的程序: 其实很多Linux下的抓图程序和这个很类似。 Linux下的USB摄像头图像采集要完成两个部分:摄像头驱动程序和图像采集应用程序。 1 加载USB摄像头驱动程序 Linux下自带有ov511控制芯片的USB摄像头驱动,但是我们使用的是中星微的摄像头,所以无法直接使用。目前Linux下的开源USB摄像头驱动spca5xx支持中星微的摄像头。在网上下载好源码,交叉编译成内核模块后使用insmod命令加载到系统中去。把摄像头连接到开发板上,发现可以识别到摄像头,下面我们就可以进行摄像头图像采集编程了。 2 Linux下的视频采集编程接口简介 Linux对于视频采集设备的支持,是通过Video For Linux实现的,通常可以简称为V4L,现在较高版本的Linux内核都已经包含了Video For Linux。Video For Linux是为各种电视卡,以及并口和USB接口的音视频采集设备提供统一的编程接口,在Linux 下,视频采集设备的正常使用依赖于对Video For Linux标准的支持。 3 基于Video For Linux的图片捕捉 基于Video For Linux的图片捕捉流程如图所示,主要包括三个部分:初始化,同步,读取数据。 图片捕捉流程见上图,主要包括3个步骤: 1)初始化:首先是使用open函数打开视频设备文件,而且是独占的可读模式。然后使用Video For Linux接口函数设置视频设备的数据通道,设置视频数据传输的模式,可选的有NSTC或者PAL等。为了方便读取图像数据,使用mmap函数建立内存映射,在应用程序中直接读取图像数据。最后就是设置要捕捉的图片大小,即分辨率,我使用的摄像头最大可以提供分辨率800*600,每秒25张图片。 2)同步:等待一帧视频数据采集完毕后才能读取数据,否则将出现错误,同时还可以对帧号进行操作。 3)读取数据:我们使用的中星微摄像头传输过来的图片已经是JPEG编码格式。 下图就是使用Video For Linux采集的320*240的jpeg格式图片。 ……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书