下载此文档

基于OpenCV的实时图像采集与远程监控完整系统.doc


文档分类:通信/电子 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
蒇基于OpenCV的实时图像采集与远程监控系统袇蒂薂袈芄蒅蚂艿羆芃蚂虿蒄肂螂班级:0805螆姓名:杨学齐膆学号:200892128袁袂***蚄袄羁薈莆蚃肁一、 本系统是基于OpenCV的实时图像采集、远程监控系统,主要分为两个功能模块莂实时图像采集:膁 实时图像采集利用了OpenCV来实现,利用OpenCV库在定时器的调节下,可以从摄像头直接获取监控对象的图像。为了达到实时效果,必须保证帧频不能太低。实时采集另外一个重点是实时发送,采集到的图像必须实时发送到网络进行传输,因此采集线程和传输线程必须分为不同线程。膆远程监控:蒆 摄像头采集得到的图像是存储在本地的,必须通过网络的传输才可以实现远程监控,由于视频数据量比较大,必须经过压缩后才能传输,本系统采用了Jpeg图像压缩,再通过高性能网卡将压缩后的图像传输出去。监控端接受到数据后,进行Jpeg解压缩后显示。:薇 由于需要实时进行图像采集和传输,因此必须将图像采集和图像传输分为不同的线程。羃远程监控端程序架构:膄 监控端一方面进行网络数据接收,另外一方面必须将接收到的数据实时显示出来,也必须采用多个线程。 OpenCV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法羂 Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。基本上,Qt同XWindow上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但Qt具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。,使用Qt和OpenCV必须进行两者之间的转化,主要是表示方法不同,位深及RGB之间的转换,这个部分是很重要的,详细代码在下面已经列出。,有时网速不高,图像采集的速率虽然很高,但是远程监控端会因为网络原因收不到图像,因此对图像的数据量压缩是很有必要的。这里采用的是QT中Jpeg压缩,需要Jpeg库的支持。压缩之后的数据量大大减少了。螄Socket发送的数据是没有对象的信息的QImage也不能直接被发送到远程监控端,必须序列化到QByteArray,这是一个字符流,将压缩后的图像对象序列化到QByteArray再进行传输。,能够最大限度的压缩数据包的大小,控制校验图像的格式,图像采集端必须一边采集一边发送,这个同步进行的工作是通过线程来完成的,提供程序的效率。薇另一方面远程监控端同样需要一边接收数据一边显示,也是通过多线程技术实现的,接收到的数据传递给显示线程,这需要将字符流QByteArray重新组装成一个QImage对象,然后显示出来。这个过程必须有准确的校验否则数据会显示不完整。薃二、(intargc,char*argv[])肅{节CvCapture*camera=cvCreateCameraCapture(0);//建立OpenCV图像捕获对象螀assert(camera);蚈IplImage*image=cvQueryFrame(camera);螇assert(image);肁qDebug()<<"Imagedepth="<<image->depth<<"n";螀qDebug()<<"ImagenChannels="<<image->nChannels<<"\n";聿QApplicationa(argc,argv);膅MainWindoww(camera);("VideoCapture");();膆intreturn_value=();羇cvReleaseCapture(&camera);//程序结束释放OpenCV图像捕获对象袃羀returnreturn_value;薇}莄蚁MainWindow::MainWi

基于OpenCV的实时图像采集与远程监控完整系统 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人漫山花海
  • 文件大小80 KB
  • 时间2019-04-18