- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式摄像头抓图系统设计和实现
客户端流程图 start:connDialog-show();accept();connectToHostSuccess(); 线程,accept(); connectToHostSuccess(); 线程,connectToHostSuccess(),changeWidgetBtnState() screen,changeWidgetBtnState(),setBtnEnable() photo:setPhotoName(),accept(),savePicture() stop:stopBtnClicked() quit:close() 使用的线程 数据采集线程 就是服务器端的主线程,用来连续不断的抓取内存中的采集信息 客户端处理线程 用来处理客户端的请求,把主线程采集好的图片信息解析,显示到客户端 谢谢各位老师 嵌入式摄像头抓图系统设计与实现 研究背景 摄像头的应用广泛 视频会议 摄像头 车牌识别系统 安保系统 可视电话 研究背景 Linux:开源、稳定、移植性好、网络功能强大、完备的文件系统支持 摄像头已经融入我们的生产生活中,并且技术先进 嵌入式技术、多媒体技术和各种网络技术的快速稳步发展使得基于嵌入式的摄像头抓图系统变得简单可行 这些东西结合起来会创造出更有价值结晶 研究意义 社会建设方面 可以使用摄像头约束公民,有利于道德建设 法制方面 可以提供强有力的证据,加速案件侦破 生活方面 可以与家人视频通话,缓解思念之情等 研究目标 基于嵌入式的摄像头图像采集 能够通过摄像头采集实时图像数据,并在屏幕显示,能够抓图并保存 研究的展开思路和框架 如何采集图像 如何传输信息 如何显示图像 如何捕捉图片 使用Linux内核的v4l2框架 使用socket连接,http协议 QImage提供的save方法 QT客户端解析http协议 图像采集 论文结构 技术实现 程序演示 基于嵌入式的图像采集系统 实现功能 技术解析 引言背景 系统介绍 客户端 接收视频数据 tcp/ip socket (http协议) 图像显示 QT 编程 server端 视频采集 Video4Linux2 视频架构 视频传输 http协议 系统结构 客户端和服务器端所使用的技术 技术选取: 工作流程 服务器执行过程 v4l2简介 V4L2是linux 中关于视频设备的内核驱动。在Linux 中视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev 下。 V4L2 采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl 函数来实现。 ioctl函数 int ioctl (int __fd, unsigned long int __request, …) ; 设备描述符,控制命令和控制命令参数。 v4l2常用命令标志符 在进行V4L2 开发中,一般会用到以下的命令标志符: VIDIOC_REQBUFS :分配内存 VIDIOC_QUERYBUF:把VIDIOC_REQBUFS 中分配的数据缓存转换成物理地址 VIDIOC_QUERYCAP :查询驱动功能 VIDIOC_QBUF :投放一个空的视频缓冲区到视频缓冲区输入队列中 VIDIOC_DQBUF :从视频缓冲区的输出队列中取得一个已经保存有一帧视频数据的视频缓冲区 VIDIOC_STREAMON :开始视频显示函数 VIDIOC_STREAMOFF :结束视频显示函数 这些是主要的IO 调用。 v4l2简介 启动视频设备 camerafd=open(/dev/video0,O_RDWR) 设置图像格式 struct v4l2_format fmt; memset(fmt,0,sizeof(fmt));//清空 fmt.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;//捕捉视频 fmt.fmt.pix.width=480;//宽 fmt.fmt.pix.height=854;//高 fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV;//像素格式 fmt.fmt.pix.field=V4L2_FIELD_ANY; 分配缓冲区 v4l2简介 mmap(NULL,buf.length,
文档评论(0)