大学毕业设计基于labview的视频监控系统的.docx

上传人:b****6 文档编号:16525270 上传时间:2023-07-14 格式:DOCX 页数:45 大小:2.82MB
下载 相关 举报
大学毕业设计基于labview的视频监控系统的.docx_第1页
第1页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第2页
第2页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第3页
第3页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第4页
第4页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第5页
第5页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第6页
第6页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第7页
第7页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第8页
第8页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第9页
第9页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第10页
第10页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第11页
第11页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第12页
第12页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第13页
第13页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第14页
第14页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第15页
第15页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第16页
第16页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第17页
第17页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第18页
第18页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第19页
第19页 / 共45页
大学毕业设计基于labview的视频监控系统的.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大学毕业设计基于labview的视频监控系统的.docx

《大学毕业设计基于labview的视频监控系统的.docx》由会员分享,可在线阅读,更多相关《大学毕业设计基于labview的视频监控系统的.docx(45页珍藏版)》请在冰点文库上搜索。

大学毕业设计基于labview的视频监控系统的.docx

大学毕业设计基于labview的视频监控系统的

学校代码:

11059

学号:

1105021019

 

 

HefeiUniversity

毕业论文(设计)

BACHELORDISSERTATION

 

论文题目:

基于LabVIEW的视频监控系统的设计

学位类别:

工学学士

年级专业:

11通信工程

(1)班

作者姓名:

王云飞

导师姓名:

查长军

完成时间:

2015年5月10日

基于LabVIEW的视频监控系统的设计

中文摘要

视频监控系统当前作为公共场所或者家中安保的重要的组成部分,该系统在危险来临时,帮助人们从监控画面里的得到相关的信息,增加人们在出行时的安全系数。

本设计是通过软硬件结合的方式,利用LabVIEW2014版本和硬件USB摄像机相结合来实现各方面功能。

论文的绪论部分对虚拟仪器进行了初步介绍,在之后的章节中介绍了与本设计相关的虚拟仪器开发软件LabVIEW。

之后通过学习软件的过程中,深入学习了视觉与运动模块,并通过LabVIEW软件完成对视频监控系统各部分功能的实现。

视频监控系统主要由三部分组成分别为视频监控图像的采集、视频图像的保存、视频图像的后期处理以及自带的视频播放器进行视频的播放,最后生成EXE文件并打包生成SETUP安装程序,最终完成具有多项功能的视频监控系统。

利用LabVIEW开发的视频监控软件,在开发过程中流程较为简单,通过其中自带的函数以及控件,可以十分方便的实现系统所需要的各项功能。

所以,利用LabVIEW设计的视频监控系统,在完成各项功能的同时,在日后系统功能的添加以及设备的更换方面都十分方便。

关键词:

视频监控;图像的采集;图像的压缩和保存;图像后期处理;LabVIEW

DesignoftheVideomonitoringsystemBasedonLabVIEW

ABSTRACT

Atpresent,thevideomonitoringsystemisanimportantlinkinpublicplacesorinthehomesecuritysystem,whichcanintheaccidenthappens,getrelevantinformationfromvideomonitoringsysteminatimelymanner.Increasethesafetyfactorwhenpeopletravel.

Thisdesignisacombinationofhardwareandsoftware,throughusingtheLabVIEWsoftware2014andhardwareofUSBcameratorealizethefunctionofvideomonitoringsystem.Theintroductionofthepaperintroducesthevirtualinstrument,andintroducesthedesignofthevirtualinstrumentsoftwareLabVIEW..Onthebasisoftheresearchonthevisualandmotionmoduleandthecorrespondingfunction,designandwritethevideomonitoringsystemthroughthelabviewsoftware.Thedesignofthevideomonitoringsystemisdividedintoavideoimageacquisition,videoimagescompressionandsave,imagepostprocessing,andplaythevideothroughthedesignoftheplayer,thengeneratedEXEfilesandpackagingtogenerateSETUPinstaller,finallycompletethevideomonitorsystemwithmultiplefunctions.Comparedwithotherprogrammingsoftware,thissoftwareoperationismoreconvenient.TherearemanymodulesinLabVIEWcancalldirectly,savetimeandeffort.So,thevideomonitoringsystemdesignedbyLabVIEWisveryconvenientinthefunctionofthesystemandthereplacementoftheequipmentinthefuture.

KEYWORDS:

Videomonitoringsystem;Videoimageacquisition;Videoimagecompressionandsave;imagepostprocessing;LabVIEW

第一章绪论

1.1虚拟仪器的简介

虚拟仪器(VirtualInstrument)即为利用一系列的开发软件和具有相关功能的硬件相结合,以高效灵活的特点来满足开发者对各方面应用功能的需求[1]。

在虚拟仪器系统中,软件是整个操作系统的关键所在,而硬件只是作为外接设备,功能也只是将软件的处理完成的信息进行输入或者输出。

使用者若想更改仪器的功能数量等,只需要更改软件中的代码或数据即可,硬件部分不需要进行相关的改动。

虚拟仪器技术的出现,摆脱了传统仪器只能使用厂家定义仪器功能的束缚,实现了用户对功能自定义的要求,让用户可以随心所欲的创建开发自己所需要的功能的仪器。

虚拟仪器技术中最重要的部分为软件部分,在开发过程中使用适用的编程软件或调用专项的开发模块,使开发者可以更加有效的开发自己所需的应用,并加工美化出能让用户易操作的软件界面。

此外,虚拟仪器技术还包括外接的硬件部分和将软硬件结合的平台[2]。

本设计使用到了NI公司提供的图形化编程软件LabVIEW,该软件支持市面上大部分的外接硬件,也可扩展多种常用的软件,更拥有易操作的图形化编程模式,使用户可以更加方便、直观的开展各类程序的开发工作。

1.2本设计研究的主要内容

目前,USB摄像头已经十分普及,利用USB摄像头作为硬件部分进行图像的采集不仅易安装、拆卸,而且价格较低,可以降低整个制作的成本。

通过对多款编程开发软件相比较后得到,LabVIEW软件的开发过程更加简单方便。

所以本文的视频监控系统是通过LabVIEW软件以及USB摄像头硬件相结合的方式来完成视频监控系统的相关功能[3]。

设计前通过翻阅书籍和网络课程等了解LabVIEW软件的内容以及在市场上已经普及使用的监控设备所包含的具体功能,通过多方面所得到的信息综合后,归纳出本设计的视频监控系统所具有的功能和特点。

该系统功能包括能够采集实时的监控画面,监控画面能够自动的保存,软件拥有视频播放器,界面美观,用户容易上手,相关的功能键在较为显眼的位置[4]。

最终通过多方面对比后确定使用LabVIEW2014版本作为软件部分,高清的USB摄像头作为硬件部分,通过软硬件相结合的方式来实现视频监控系统对监控画面实时的获取并显示,以及将获得的画面自动保存,并且在通过软件中的相关函数将时间等一些关键的信息元素加入到监控画面中。

系统整体的界面美观大方,并且各功能的使用易上手,使用户能在短时间内可以熟练的使用该监控系统中的各项功能。

第2章

LabVIEW的相关介绍

2.1LabVIEW的简介

LabVIEW是一款由美国家仪器(NI)公司研制开发的软件[5],该程序与常用的编程开发软件在功能上比较相似,但是LabVIEW与别的编程开发软件又有本质上的区别,其中最主要的区别是:

其他的编程程序都是将自己的编程代码以文本代码的形式进行开发,而LabVIEW与传统的开发程序不同,它使用的是图形化编辑语言,俗称为“G”语言,程序的编写是以各种功能函数的图标进行节点的连线,最后按顺序运行各个函数以完成整个程序的功能[6]。

与传统的编程软件一样,LabVIEW也拥有自己的一个可以处理各种功能任务的数据库,该数据库中含有多种编程函数,例如数据的采集、分析、处理、显示、储存以及各种数据串口的调用等。

LabVIEW中也含有传统编程软件中所必备的扩展程序,例如,界面美化、硬件的扩展、设置程序运行的断点等等。

LabVIEW在前面板中提供了大量的仿真仪器控件,这些控件在外形上与实验室中常用的仪器十分相似,将其添加到程序中可以增加用户对该软件的亲和力并且可以更方便的在用户界面中使用。

LabVIEW中的前面板为程序运行时的用户界面,在用户面板下有程序框图对程序的功能进行编译,最终通过相关控件的连接将程序显示在用户界面上。

LabVIEW程序开发功能的强大被各界所接受,在数据采集和硬件的控制方面被视为业界的标准[7]。

它还集成了大量的数据采集硬件的功能[7]。

它还内置了便于扩展的相关应用,例如网络开发的模块、将计算机系统中常用软件导入的模块[8]。

从总体上来说,这是一款上手较为容易并且功能十分齐全的开发软件。

2.3LabVIEW软件安装介绍

本设计采用的是LabVIEW2014版本的软件,首先在电脑上安装好LabVIEW2014专业版开发软件(只有专业版开发软件才支持后期EXE文件的生成和产生SETUP软件生成的功能)。

安装完毕后,选择开始→所有程序,找到名为NILabVIEW2014专业版,点击后即可启动LabVIEW2014专业版,启动后弹出对话框如图1所示。

图1LabVIEW启动画面

如图1所示,打开软件后,选择创建项目→创建一个空白的VI,新建的VI其扩展名默认为.vi。

VI创建后,可以观察到VI分为三个部分:

前面板、程序框图、图标。

一个VI可以理解为由外向里的三部分,最外层即为前面板,这个是用户最终使用的界面,运行程序时,使用者直接与该界面进行交互。

第二层为程序框图相当于程序编程的代码部分,程序功能的编译都在程序框图上进行。

第三层即为图标,该功能主要为右上角显示VI的属性以及查找全部实例的作用,如图2所示。

图2新建的VI面板显示

2.4视觉与运动模块介绍

本设计需要进行图像的采集和处理,实现此功能需要使用到LabVIEW的扩展模块,即视觉与运动(visionandmotion)模块。

视觉与运动(visionandmotion)为LabVIEW的扩展部分,此部分需要用户到NI的官方网站下搜索下载,其中的部分函数在本设计的图像采集部分将会使用到。

视觉与运动模块的安装步骤是:

本设计采用的是最新的LabVIEW2014版本,此版本功能相对于老版本更加全面,运行速度也相对于较快。

首先去NI的官方网站下载:

(1)视觉开发包VisionDevelopmentModule(VDM)2014版

(2)NIVisionAcquisitionSoftware(VAS_2015_02),这里需要注意下载的扩展模块必须与所使用的LabVIEW2014软件的版本相同或者更高,这样安装过后模块的功能才能全部实现,否则安装老版本的模块,很多函数功能不能被使用。

全部下载完成后,首先安装VisionDevelopmentModule(VDM)2014版,再安装NIVisionAcquisitionSoftware(VAS_2015_02)。

2.5设计相关的函数和控件的介绍

2.5.1Vision(视觉)控件介绍

在视觉开发包VisionDevelopmentModule(VDM)2014版安装完成后,会在软件中新增一个工具包Vision。

Vision中主要是用于图像的显示和后期处理的控件,用户可在前面板中到Vision工具包中的相关控件及具体使用方法。

如图3所示。

图3Vision显示控件

从图中可以观察到,Vision打开之后,其中有6个与显示有关的控件。

本设计主要使用的是其中的ImageDisplay(图像显示)。

(1)IMAQImage.ctl:

该控件是图像属性格式进行说明作用。

使用该控件在前面板中可以对图像格式以及类型进行说明。

(2)图像显示(ImageDisplay):

该控件用于在LabVIEW中直接创建并显示所获取的图像,创建一个该控件后,会在程序面板中直接显示一个图标,所编写的视频监控的最终画面显示就是将输出节点连接到该图标,即可把采集的视频图像显示到控件上。

图像显示如图显示有三种样板分别为ImageDisplay、ImageDisplay(Classic)、ImageDisplay(Silver)。

这三种在样式上分别为普通、经典、银色,本质上功能是相同的。

(3)IMAQ视觉控件(IMAQVisioncontrols):

该控件主要作用为对视觉图像可以进行相关控制。

该控件组中包含了一些对图像分析、处理以及颜色类型相关的控件函数。

(4)机器视觉控件(MachineVisioncontrols):

该控件中包含对图像的机器视觉进行控制,加工等相关控件。

图4IMAQ视觉控件图5机器视觉控件

2.5.2VisionandMotion(视觉与运动)模块介绍

安装完NIVisionAcquisitionSoftware(VAS_2015_02)后,在程序VI的程序面板上可以看到新的一栏视觉与运动,这个模块是本设计主要使用的模块,其中包含了视频的采集和保存等多项功能。

如图6所示,视觉与运动模块中,总共包含7大类函数。

其主要的功能为利用外接的硬件设备对图像进行采集并且通过一些函数进行后期的处理。

图6视觉与运动模块

(1)NI-IMAQ模块

主要包括大量的图像采集函数,其主要支持NI相关的采集硬件,来完成对视频图像的采集。

其中包括对采集视频硬件的初始化与关闭,获取硬件设备信息,硬件参数的设定等等。

如图7所示。

图7NI-IMAQ函数

(2)VisionUtilities(视觉工具)模块

该模块包含一些视觉处理的工具,用于对图像的画面进行一系列的加工处理。

其中包含的函数如图8所示。

图8VisionUtilities模块

ImageManagement内部为管理图像的相关函数,该函数集合中的相关函数主要用于创建和释放所采集的图像,以及包含设置图像相关参数的函数[9]。

此外,其中还包含部分处理图像的VI,这些VI可对图像的外观就行修饰,比如图像的远程显示和图像的投射等。

如图9所示。

图9ImageManagement函数

其中本设计会涉及到IMAQCreate、IMAQDispose相关函数,这两个函数的功能分别为:

IMAQCreate——为图像提供系统获一个缓存;IMAQDispose——清除所显示过的图像的缓存。

File则是提供关于文件读写的相关功能。

例如,ReadFile提供图像的读取功能,WriteFile提供图像写入的功能,以及AVI函数中提供与视频录像处理、保存相关的函数。

如图10所示。

图10File函数

(3)NI-IMAQdx模块

该模块主要用与采集图像、获得相机等硬件的相关信息、以及对硬件的控制等。

如图11所示。

图11NI-IMAQdx模块

IMAQdxSnap2VI:

该函数主要功能为获取、启动、配置以及取消采集配置单元[9]。

该函数作为采集图像时进行准备工作的函数,也是在低速情况或者单捕获图像数据必不可少的一部分。

在调用该函数前需要调用IMAQdxOpenCameraVI,IMAQdxConfigureGrabVI,即打开摄像机和获取画面,通过接受其配置的相关摄像机和画面的数据,对打开摄像机获取的画面进行采集。

IMAQdxConfigureGrabVI:

该函数主要功能为采集图像并配置。

调用IMAQdxGrabVI在所获得的缓存中循环的采集并将采集的图像传输到之后的函数节点中。

IMAQdxUnconfigureAcquisitionVI与其相反用于取消获取图像的配置。

IMAQdxGrab2VI:

该函数主要功能为获取当前所获得的画面帧。

若所获得画面的图像类型与所使用的摄像头支持的画面格式不匹配,该VI将当前帧的图像自动转换到与所使用的摄像头匹配的格式。

IMAQdxOpenCameraVI:

该函数主要功能为打开摄像机,查询本机所拥有的摄像机并加载为该函数节点所配置的摄像机。

完成后调用IMAQdxCloseCameraVI用于关闭摄像机。

IMAQdxCloseCameraVI:

该函数主要功能为关闭相机,停止之前打开相机后的程序运行的工作。

IMAQdxEnumerateCamerasVI:

该函数主要功能为向用户返回计算机中包含的所有关于摄像头信息的列表。

(4)VisionExpress(快速视觉)模块

快速视觉模块常用于短时间内较为迅速的开发采集图像以及处理图像的程序。

如图12所示。

图12VisionExpress模块

 

第三章视频监控系统各模块的设计

3.1设计开发流程框图

本设计根据任务书拟定的相关任务,归纳出开发的视频监控所需要的相关功能,通过LabVIEW2014版本软件的学习后制定出如下的流程框图。

 

图13设计流程开发图

3.2图像采集部分思路

本设计通过人们日常所使用的视频聊天的USB摄像头作为图像采集的硬件结合LabVIEW软件编写的程序,用摄像头采集相关的监控画面并通过软件程序处理后显示在计算机上,图像采集部分的程序框图如图14所示。

图像采集部分的编写所使用的函数主要为程序框图中的视觉与运动模块和前面板中的Vision模块。

具体的编程思路为:

IMAQdxOpenCameraVI→IMAQdxConfigureGrabVI→IMAQCreateVI→IMAQdxGrab2VI→IMAQDrawTextVI→ImageDisplay→IMAQDisposeVI→IMAQdxCloseCameraVI。

首先使用IMAQdx函数中IMAQdxOpenCameraVI函数设置计算机所连接的摄像头并且将设置的摄像头打开,设置前可通过NIMAX查询摄像头名称信息,再将上个函数连接IMAQdxConfigureGrab,通过该函数进行图像的动态采集,创建一个IMAQCreateVI用来向系统获取相应的缓存,将采取的图像和获得的缓存传输到IMAQdxGrab2VI,该函数获取图像的当前帧并存于缓存中再获得下一帧,将图像一帧一帧的传输到文本处理处,文本处理在每一帧图像上添加当前帧的时间,再将每一帧的图像按顺序显示在ImageDisplay上。

整个获取每帧图像处理再显示到窗口上在一个带控件的While循环中,按下循环下的停止键则跳出循环,打开摄像头和获取内存与关闭摄像头和释放内存相对应,在按下停止后执行IMAQDisposeVI释放缓存和IMAQdxCloseCameraVI关闭摄像机从而程序停止运行。

图14监控图像采集的程序框图

3.3视频图像采集设计

本设计视频图像采集部分使用到两部分模块,首先是前面板控件面板中的“Vision”模块,其次程序框图控件面板中的“视觉与运动”模块。

3.3.1创建VI程序

启动LabVIEW2014,创建新的VI程序,并且命名为image.vi。

如图15所示。

图15新建VI程序

3.3.2IMAQdxOpenCameraVI的使用

该部分设计主要是基于USB摄像头上,所以首先要选择所需要打开的USB摄像头,再在视觉与运动模块中找到IMAQdxOpenCameraVI左击拖入程序框图中,如图16所示,并将之前选择好的USB摄像头连接至SessionIn上,USB摄像头信息则会通过SessionIn端口传输进该函数中。

函数在得到USB摄像头信息后,发出命令将其打开并通过SessionOut将打开的USB摄像头信息传输出。

图16IMAQdxOpenCameraVI

Errorin与Errorout用于输入和输出程序运行中出现的错误,并可通过Errorout显示的错误代码来查询出程序的错误。

函数具体的内部结构如图17所示。

图17IMAQdxOpenCameraVI的前面板和程序框图

3.3.3IMAQdxConfigureGrabVI的使用

在视觉与运动模块IMAQdx中选择该函数,此函数的作用主要是对之前打开的USB摄像头进行配置和控制摄像头开始采集图像,如图18所示。

图18IMAQdxConfigureGrabVI

图19IMAQdxConfigureGrabVI的前面板和程序框图

函数具体的内部结构如图19所示。

从程序框图中可以看出,该函数包含一个条件结构,即在输入的摄像头打开状态为真是开始采集图像。

3.3.4IMAQCreateVI的使用

在视觉与运动模块中找到IMAQCreateVI函数,该函数的主要功能是给图像提供缓存,如图20所示。

图20IMAQCreateVI

其中ImageName为加粗表示此端口必须要有输入,即要给此设置一个名字,本设计设置成image。

设置图片类型通过ImageType节点。

BorderSize决定了宽度,图像的边界。

函数内部结构如图21所示。

图21IMAQCreateVI的前面板和程序框图

3.3.5IMAQdxGrab2VI的使用

在视觉与运动模块IMAQdx中选择该函数,此函数的作用是获得当前传入采集的单帧图像,并存入之前获得的缓存中。

将此函数IMAQdxConfigureGrabVI函数连接,在配置过摄像头相关信息后,则会使用该函数进行缓存的获取。

若设置的摄像头视频格式与获取的图像类型不匹配,则系统会自动将获取的图形转化到合适的图像类型格式,如图22所示。

图22IMAQdxConfigureGrabVI

WaitforNextBuffer?

(Yes):

该节点作用为判断是否等待下一个缓冲区,若为是,则等待系统提供下一个缓冲区,并继续进行采集图像;反之则不等待,直接进入到最后一个采集图像的缓冲区域。

BufferNumberOut:

作用是输出系统缓冲区域的数值。

函数具体的内部结构如图23所示。

图23IMAQdxGrab2VI的前面板和程序框图

3.3.6ImageDisplay的使用

在前面板的Vision中找到ImageDisplay并拖至前面板上,拖入后程序框图中也会出现相对应的一个函数,将该函数连接IMAQdxGrab2VI,则所获得的每一帧处理的图像则会按顺序在该窗口上显示出来,如图24所示。

图24ImageDisplay

3.3.7带控件While的使用

搜索函数While循环会出现两个,一个是While循环,另一个是带有停止功能的While循环。

本设计要求可以控制USB摄像头监控的开关,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2