下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.定义V4L2(VideoForLi nuxTwo)是内核提供给应用程序访问音、视频驱动的统一接口。2. 工作流程:打开设备- 检查和设置设备属性- 设置帧格式- 设置一种输入输岀方法(缓冲区管理)- 循环获 取数据- 关闭设备。3.设备的打开和关闭:#in cludeint open(constchar *device_name, int flags);#in cludeint close( int fd);例: int fd=open( “/dev/video0 ” ,O_RDWR)4.查询设备属性:VIDIOC QUERYCAP相关函数: int ioctl( int fd, int
2、request, struct v4l2_capability*argp);相关结构体: 16)&0XFF8 )&OXFF&OXFF;struct v4l2_capability u8driver 165.设置视频的制式和帧格式制式包括PAL , NTSC,帧的格式个包括宽度和高度等。相关函数:int ioctl( int fd, int request, struct v4l2_fmtdesc*argp); int ioctl( int fd, int request, struct v4l2_format*argp);v4l2_cr opcapv4l2_cr opcapv4l2_cr op
3、cap结构体中,包括 bou nds (最大捕捉方框的左上角坐标和宽高),defrect(默认捕捉方框的左上角坐标和宽高)等。v4l2_format 结构体用来设置摄像头的视频制式、帧格式等,在设置这个参数时应先填好v4l2 format的各个域,如样类型,如YUV4:2:2),然后通过 VIDIO_S_FMT操作命令设置视频捕捉格式。如下图所示:查询并显示所有支持的格式:VIDIOC ENUM FMT相关结构体: 结构体用来设置摄像头的捕捉能力,在捕捉上视频时应先先设置 的type域,再通过VIDIO_CROPCAP 操作命令获取设备捕捉能力的参数,保存于相关函数: int ioctl( i
4、nt fd, int request, struct v4l2_fmtdesc*argp);相关结构体: struct v4l2_fmtdesc u32index; sn,+ 1,;+;查看或设置当前格式:VIDIOC_G_FMT,VIDIOC_S_FMT检查是否支持某种格式:VIDIOC TRY FMT相关函数:int ioctl( int fd, intrequest, struct v4l2_format*argp);相关结构体: struct v4l2_format enunv4l2_buf_typetype;像的缩放 VIDIOC CROPCAP相关函数:int ioctl(inti
5、nt ioctl(intint ioctl(int相关结构体:Cropping和S(fd, int request, struct v4l2_cropcap*argp);fd, int request, struct v4l2_crop*argp);fd, int request, conststruct v4l2_crop*argp);主要指的是图像的取景范围及图片的比例缩放的支持。Crop就是把得到的数据作定的裁剪和伸缩,裁剪可以只取样我们可以得到的图像大小的一部分,剪裁的主要参数是位置、长度、宽度。而scale的设置是通过 VIDIOC_G_FMT 和VIDIOC_S_FMT 来获得和设
6、置当前的 image的长度,宽度来实现的。看下图我们可以假设 bounds 是sensor最大能捕捉到的图像范围,而defrect是设备默认的最大取样范围,这个可以通过VIDIOC_CROPCAP 的ioctl来获得设备的 crap相关的属性v4l2_cropeap ,其中的bounds就是这个bounds,其实就是上限。每个设备都有个默认的取样范围,就是defrect,就是defaultrect的意思,它比bounds 要小一些。这个范围也是通过 VIDIOC_CROPCAP 的iocti来获得的v4l2_cropcap结构中的defrect 来表示的,我们可以通过 VIDIOC G CRO
7、P 和VIDIOC S CROP 来获取和设置设备当前的crop设置。设置设备捕捉能力的参数相关函数:int ioctl( int fd, int request, structv4l2_cro pcap *arg p);相关结构体:struct v4l2_cropcap enu nv4l2_buf_t ypetype;相关函数:int ioctl( int fd, int request, structv4l2 _inp ut*arg p);相关结构体:struct v4l2_input_u32index; /*Whichinput*/_u8namep2; /*Label*/_u32type
8、; /*Typeofinput*/_u32audioset; /*Associatedaudios(bitfield)*/_u32tuner; /*Associatedtuner*/ v4l2_std_idstd;_u32status;_u32reserved 4;iT我们可以通过 VIDIOC ENUMINPUTandVIDIOC ENUMOUTPUT分别列举一个的信息,我们使用一个v4l2_ inp ut结构体来存放查询结果,这个结构体中有一个索要查询的是第几个input/ouput,如果你所查询的这个input是当前正在使用的,还会包含一些当前的状态信息,如果所查询的input/outp
9、ut不存在,那么回返回我们通过循环查找,直到返回错误来遍历所有的input/ 返回当前的 videoinputinp ut或者out putin dex域用来指定你那么在v4l2j nputeinval错误,所以,和n out put的 index.例:列举当前输入视频所支持的视频格式 struct v4l2_inputinput;struct v4l2_standardstandard; memset(&input, 0, sizeof (input); /if (errno!=EINVAL|= 0) perror( ” VIDIOC_ENUMSTD; exit(EXIT_FAILURE);
10、相关函数: v4l2_std_idstd_id;perror( ” VIDIOC_G_STD); exit(EXIT_FAILURE);memset(&standard, 0, sizeof (standard);=0;/if (errno=EINVAL|= 0)perror( ” VIDIOC_ENUMSTD; exit(EXIT_FAILURE);9.申请和管理缓冲区应用程序和设备有三种交换数据的方法,直接read/write 、内存映射(memorymapping)和用户指针。这里只讨论内存映射(memoryma pping)向设备申请缓冲区 VIDIOC REQBUFS相关函数: int ioctl( int fd, int request, struct v4l2_requestbuffers*argp);相关结构体: struct v4l2_requestbuffersu32co un t;e ngth=;tart=mma p(NULL, PROT_READ| PROT_WRITE,MA P_SHARED,fd, if (MAP_FAILED=buffersn_buffers.start)exit(- 1);10.缓冲区处理好之后,就可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信光纤课件教学课件
- 黄山学院《创作训练》2021-2022学年第一学期期末试卷
- 淮阴师范学院《专业知识与教学能力选讲》2022-2023学年第一学期期末试卷
- 淮阴师范学院《小学语文课程标准解读与教材分析》2021-2022学年第一学期期末试卷
- 淮阴师范学院《管理学原理》2023-2024学年第一学期期末试卷
- 淮阴师范学院《基本体操(3)》2022-2023学年第一学期期末试卷
- DB6111∕T+215-2024+设施火龙果产期调控技术规程
- DB4110T74-2024农田氮磷面源污染源头减控技术规程
- 农药制造中的纳米技术应用考核试卷
- 海水淡化处理中的膜技术应用考核试卷
- 2024年湖北汉江王甫洲水力发电有限责任公司招聘笔试参考题库含答案解析
- 电动滚筒基础知识培训课件
- 《小学生食品安全教育班会》课件(三套)
- 2024年汽车喷漆工考试题及答案
- 人工智能投资计划书
- 2024软件代码自主率测评方法
- 2024年贵州省职业院校技能大赛中职组《导游服务》赛项备考试题库(含答案)
- 军事理论第三章
- 人教版三年级上册数学易错题记录与分析
- 奥迪汽车介绍
- 2024年云南黄金矿业集团股份有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论