嵌入式摄像头抓图系统设计与实现毕业论文

上传人:m**** 文档编号:474520614 上传时间:2023-04-20 格式:DOC 页数:57 大小:2.18MB
返回 下载 相关 举报
嵌入式摄像头抓图系统设计与实现毕业论文_第1页
第1页 / 共57页
嵌入式摄像头抓图系统设计与实现毕业论文_第2页
第2页 / 共57页
嵌入式摄像头抓图系统设计与实现毕业论文_第3页
第3页 / 共57页
嵌入式摄像头抓图系统设计与实现毕业论文_第4页
第4页 / 共57页
嵌入式摄像头抓图系统设计与实现毕业论文_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《嵌入式摄像头抓图系统设计与实现毕业论文》由会员分享,可在线阅读,更多相关《嵌入式摄像头抓图系统设计与实现毕业论文(57页珍藏版)》请在金锄头文库上搜索。

1、 厦门大学软件学院毕业设计嵌入式摄像头抓图系统设计与实现摘 要随着现代科技的飞速发展,我们越来越重视实时通讯,时时刻刻的了解身边发生的一切,这样我们就需要摄像头和Linux来帮助我们实现这一切。本项目以实现嵌入式的摄像头抓图系统为核心,使用V4L2框架完成图像采集。Video4Linux2是基于Linux系统进行图像和影音开发的应用编程接口。本项目的实现过程:服务器端,需要使用C语言,并结合V4L2框架,遵守V4L2的流程,先获取视频设备支持的标准,后设置捕获的视频格式,然后为图像数据分配内存空间,使用mmap将内核空间映射出来,使得应用程序能够访问内核空间,保存捕获的数据,将数据发送到用户空

2、间。使用socket建立网络连接,创建socket,绑定,监听,接受用户请求。使用视频传输 http协议,程序运行时加入JPEG库,通过转换格式将yuv转换成JPEG,并使用huffman函数解码打印图片。客户端方面,使用Qt实现客户端的图形化界面,使用QTcpSocket,建立连接,连接到服务器,不停地发送和接受数据,完成视频显示,图像采集,暂停的功能。最后,本文给出了符合V4L2框架的本机摄像头图像数据采集功能,并转换为JPEG格式保存。最后,本系统可以将捕捉到的画面显示在屏幕上并且可以实现抓图的功能。关键词 Linux;V4L2;图像采集;摄像头;显示Embedded camera ca

3、pture system design and implementationAbstractWith the rapid development of modern technology, we are increasing emphasis on real-time communication, understanding everything happening around all the time, so we need a camera and Linux to help us achieve this.The project to implement an embedded cam

4、era capture system as the core, using V4L2 framework of image acquisition.Video4Linux2 is an application programming interface under Linux to develop video and image. Implementation process of the project:The program camera capture system based on the embedded,use c language to achieve the server si

5、de and use v4l2 framework.First, get the standard of a video device support,Then set the format of the video capture,Then allocate memory for the image,Address translation mappings by using mmap,save data and then sends the data to the user space.Establish a network connection by using socket,create

6、 a socket,binding, listening,and receiving a user request,using the http protocol for video transmission,adding JPEG library in the runing time ,converting yuv into JPEG format by the technology of converting and print pictures by using huffman decoding function.Using Qt creator graphical interface

7、to achieve client,the client using QTcpSocket to get a connection, and link the server, constantly sending and receiving data,and then complete the fuction of video display, image capture and stop In this paper, it offer the gathering function of camera image that conforms the framework of V4L2 and

8、convert to the JPEG to save.Finally, the system can capture the screen display on the screen and can capture functionality.Key words Linux;V4L2;capture picture;camera;displayi目录摘 要iAbstractii1 绪论11.1 课题背景11.2 图集系统的研像采究发展21.3 需求分析31.3.1 用户需求分析31.3.2 功能需求分析31.4 可行性研究32 开发环境及主要技术42.1 开发环境42.2 语言和开发平台的选

9、定42.2.1 C语言简介42.2.2 Qt简介42.3 V4L2架构82.3.1 概述82.3.2 系统调用82.3.3 数据交换92.3.4 处理采集数据102.4 socket服务102.4.1 socket概述102.4.2 socket工作方式112.5 http协议112.5.1 http概述112.5.2 http特点122.5.3 本文所用到的http协议报文123 概要设计133.1 服务器端143.2 客户端144 详细设计164.1 V4L2框架图像采集164.2 socket套接字的创建194.2.1 服务端204.2.2 客户端与服务器的socket连接214.3 客

10、户端读取http协议传输的图片214.4 客户端使用的信号与槽函数234.4.1 start按钮234.4.2 photo按钮234.4.3 stop按钮244.4.4 quit按钮244.5 图片的输出244.5.1 huffman函数244.5.2 jpeg库254.6.1 QBitmap254.6.2 QPicture254.6.3 QImage254.6.4 QPixmap265 测试及运行结果285.1 软件测试目标285.2 软件测试及运行的结果28结 论33参考文献34致 谢35外文原文36中文翻译461 绪论1.1 课题背景在当今的世界中,各项技术都有了突飞猛进的发展,而嵌入式

11、相关技术、相关多媒体的技术和各种各样的网络技术有了快速稳步的发展,其中基于嵌入式的视频压缩编码技术和网络的传输控制已经得到了综合应用,已经在数字化网络视频采集监控领域有了立足之地,成为了这种技术的核心。由于系统的实时性,交互性,高速传输性,高质量传输的性能摄像头系统已经得到了广泛的使用,比如现在使用的网络视频聊天,安保监控,网络视频会议系统,视频电话等。由此可见,本课题的研究,对开发简单,简便的视频传输终端设备有一定的价值。这里Linux因为其开源、稳定性高、移植性较好、对网络的强大支持和其对文件系统的支持和操作简易等特点,受到了广大编程人员的青睐,频繁的出现在各种嵌入式设备的开发当中。到目前

12、为止视频监控系统在电信、银行、交通、电力、水利、石化、智能大厦等许多领域都有着广泛的应用。日前,基于PC的传统视频监控系统在上述的这些领域中使用的比较广泛,这种系统虽然功能较强,但是它的稳定性不好、视频前端较为复杂、可靠性较差、功耗高。然而,随着高性能嵌入式处理器和网络技术的快速发展,嵌入式网络视频监控系统将会得到广泛应用,这种系统把图像采集、视频压缩和网络功能集中在一起,可以直接连入以太网,具有体积小、功耗低、稳定性高、成本低等优点。相信在以后随着计算机技术、多媒体技术和网络技术的发展与提高,视频监控系统正向数字化、网络化、集成化和智能化方向发展。Linux是免费使用和开源的类Unix操作系

13、统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。然而,随着技术的发展,使用Linux开发程序的人们都知道在Linux下最方便的开发工具Qt,它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是一款面向对象的框架,使用特殊的代码生成扩展以及一些宏,易于扩展,允许组件编程。使用Linux和QT最大的优势就是在于,Linux操作系统平台是一款更加接近于底层的一款操作系统平台,L

14、inux以它的高效性和灵活性而著称。它能够在个人计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux可在GNU公共许可权限下免费获得,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。因为它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。并且它具有Unix的全部功能,而且它受

15、到广大计算机爱好者的喜爱,而广大的计算机爱好者也是娱乐休闲游戏的主力军,所以选用Linux操作系统作为软件支持平台。对于编程工具QT而言,本次使用的开发工具叫做QtCreator,QtCreator 这款工具不仅能帮助用户更快速入门并运行项目,还可提高开发人员的工作效率。而且它使用强大的C+ 代码编辑器可快速编写代码,语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。另外,使用浏览工具管理源代码,集成了领先的版本控制软件,包括 Git、Perforce 和 Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换。最主要的是为 Qt跨平台开发人员的需求而量身定制,因为它集成了特定于 Qt 的功能,如信号与槽 ,对Qt类结构可一目了然集成Qt Designer 可视化布局和格式构建器只需单击一下就可生成和运行Qt项目等有点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号