毕业论文-基于labview的视频监控系统的设计内容摘要:

示到控件上。 图像显示如图显示有三种样板分别为 Image Display、 Image Display( Classic)、 Image Display( Silver)。 这三种在样式上分别为普通、经典、银色,本质上功能是相同的。 ( 3) IMAQ 视觉控件 (IMAQ Vision controls):该控件主要作用为对视觉图像可以进行相关控制。 该控件组中包含了一些对图像分析、处理以及颜色类型相关的控件函数。 ( 4)机器视觉控件 (Machine Vision controls):该控件 中包含对图像的机器视觉进行控制,加工等相关控件。 10 图 4 IMAQ 视觉控件 图 5 机器视觉控件 Vision and Motion(视觉与运动)模块介绍 安装完 NI Vision Acquisition Software( VAS_2020_02)后,在程序 VI 的程序面板上可以看到新的一栏视觉与运动,这个模块是本设计主要使用的模块,其中包含了视频的采 集和保存等多项功能。 如图 6 所示,视觉与运动模块中,总共包含 7 大类函数。 其主要的功能为利用外接的硬件设备对图像进行采集并且通过一些函数进行后期的处理。 图 6 视觉与运动模块 ( 1) NIIMAQ 模块 主要包括大量的图像采集函数,其主要支持 NI 相关的采集硬件,来完成对视频图像的采集。 其中包括对采集视频硬件的初始化与关闭,获取硬件设备信息,硬件参数的设定等等。 如图 7 所示。 11 图 7 NIIMAQ函数 ( 2) Vision Utilities(视觉工具)模块 该模块包含一些视觉处理的工具,用于对图像的画面进行一系列的加工 处理。 其中包含的函数如图 8 所示。 图 8 Vision Utilities 模块 Image Management 内部为管理图像的相关函数,该函数集合中的相关函数主要用于创建和释放所采集的图像,以及包含设置图像相关参数的函数 [9]。 此外,其中还包含部分处理图像的 VI,这些 VI 可对图像的外观就行修饰,比如图像的远程显示和图像的投射等。 如图 9所示。 12 图 9 Image Management 函数 其中本设计会涉及到 IMAQ Create、 IMAQ Dispose 相关函数,这两个函数的功能分别为:IMAQ Create—— 为图像提供系统获一个缓存; IMAQ Dispose—— 清除所显示过的图像的缓存。 File 则是提供关于文件读写的相关功能。 例如, Read File 提供图像的读取功能, Write File提供图像写入的功能,以及 AVI 函数中提供与视频录像处理、保存相关的函数。 如图 10 所示。 图 10 File 函数 ( 3) NIIMAQdx 模块 13 该模块主要用与采集图像、获得相机等硬件的相关信息、以及对硬件的控制等。 如图 11 所示。 图 11 NIIMAQdx 模块 IMAQdx Snap2 VI:该函数主要功能为获取、 启动、配置以及取消采集配置单元 [9]。 该函数作为采集图像时进行准备工作的函数,也是在低速情况或者单捕获图像数据必不可少的一部分。 在调用该函数前需要调用 IMAQdx Open Camera VI, IMAQdx Configure Grab VI,即打开摄像机和获取画面,通过接受其配置的相关摄像机和画面的数据,对打开摄像机获取的画面进行采集。 IMAQdx Configure Grab VI:该函数主要功能为采集图像并配置。 调用 IMAQdx Grab VI在所获得的缓存中循环的采集并将采集的图像传输到之后的函数 节点中。 IMAQdx Unconfigure Acquisition VI 与其相反用于取消获取图像的配置。 IMAQdx Grab2 VI:该函数主要功能为获取当前所获得的画面帧。 若所获得画面的图像类型与所使用的摄像头支持的画面格式不匹配,该 VI 将当前帧的图像自动转换到与所使用的摄像头匹配的格式。 IMAQdx Open Camera VI:该函数主要功能为打开摄像机,查询本机所拥有的摄像机并加载为该函数节点所配置的摄像机。 完成后调用 IMAQdx Close Camera VI 用于关闭摄像机。 IMAQdx Close Camera VI:该函数主要功能为关闭相机,停止之前打开相机后的程序运行的工作。 IMAQdx Enumerate Cameras VI:该函数主要功能为向用户返回计算机中包含的所有关于 14 摄像头信息的列表。 ( 4) Vision Express(快速视觉 )模块 快速视觉模块常用于短时间内较为迅速的开发采集图像以及处理图像的程序。 如图12 所示。 图 12 Vision Express 模块 15 第三章 视频监控系统各模块的设计 设计开发流程框图 本设计根据任务书拟定的相关任务,归纳出开发的 视频监控所需要的相关功能,通过LabVIEW 2020 版本软件的学习后制定出如下的流程框图。 图 13 设计流程开发图 图像采集部分思路 本设计通过人们日常所使用的视频聊天的 USB 摄像头作为图像采集的硬件结合 LabVIEW软件编写的程序,用摄像头采集相关的监控画面并通过软件程序处理后显示在计算机上,图像采集部分的程序框图如图 14 所示。 图像采集部分的编写所使用的函数主要为程序框图中的视觉与运动模块和前面板中的Vision 模块。 具体的编程思路为: IMAQdx Open Camera VI→ IMAQdx Configure Grab VI→IMAQ Create VI→ IMAQdx Grab2 VI→ IMAQ Draw Text VI→ Image Display→ IMAQ Dispose VI获取摄像头 创建图像 临时缓冲区 在 while 中动态实时采集 创建视频压缩 在 while 中写入帧 关闭视频压缩 时间文本 视频监控画面 图像动态 实时采集 图像的压缩和保存 时间的记录 媒体播放器 16 → IMAQdx Close Camera VI。 首先使用 IMAQdx 函数中 IMAQdx Open Camera VI 函数设置计算机所连接的摄像头并且将设置的摄像头打开,设置前可通过 NI MAX 查询摄像头名称信息,再将上个函数连接 IMAQdx Configure Grab,通过该函数 进行图像的动态采集,创建一个 IMAQ Create VI 用来向系统获取相应的缓存,将采取的图像和获得的缓存传输到 IMAQdx Grab2 VI,该函数获取图像的当前帧并存于缓存中再获得下一帧,将图像一帧一帧的传输到文本处理处,文本处理在每一帧图像上添加当前帧的时间,再将每一帧的图像按顺序显示在 Image Display上。 整个获取每帧图像处理再显示到窗口上在一个带控件的 While 循环中,按下循环下的停止键则跳出循环,打开摄像头和获取内存与关闭摄像头和释放内存相对应,在按下停止后执行 IMAQ Dispose VI 释放缓存和 IMAQdx Close Camera VI 关闭摄像机从而程序停止运行。 图 14 监控图像采集的程序框图 本设计视频图像采集部分使用到两部分模块,首先是前面板控件面板中的“ Vision”模块,其次程序框图控件面板中的“视觉与运动”模块。 创建 VI 程序 启动 LabVIEW 2020,创建新的 VI 程序,并且命名为。 如图 15 所示。 17 图 15 新建 VI 程序 IMAQdx Open Camera VI 的使用 该部分设计主要是基于 USB 摄像头上,所以首先要选择所需要打开的 USB 摄像头,再在视觉与运动模块中找到 IMAQdx Open Camera VI 左击拖入程序框图中,如图 16 所示,并将之前选择好的 USB 摄像头连接至 Session In 上, USB 摄像头信息则会通过 Session In 端口传输进该函数中。 函数在得到 USB 摄像头信息后,发出命令将其打开并通过 Session Out 将打开的 USB 摄像头信息传输出。 图 16 IMAQdx Open Camera VI Error in 与 Error out 用于输入和输出程序运行中出现的错 误,并可通过 Error out 显示的错误代码来查询出程序的错误。 函数具体的内部结构如图 17 所示。 图 17 IMAQdx Open Camera VI 的前面板和程序框图 18 IMAQdx Configure Grab VI 的使用 在视觉与运动模块 IMAQdx 中选择该函数,此函数的作用主要是对之前打开的 USB 摄像头进行配置和控制摄像头开始采集图像,如图 18 所示。 图 18 IMAQdx Configure Grab VI 图 19 IMAQdx Configure Grab VI 的前面板和 程序框图 函数具体的内部结构如图 19 所示。 从程序框图中可以看出,该函数包含一个条件结构,即在输入的摄像头打开状态为真是开始采集图像。 IMAQ Create VI 的使用 在视觉与运动模块中找到 IMAQ Create VI 函数,该函数的主要功能是给图像提供缓存,如图 20 所示。 图 20 IMAQ Create VI 其中 Image Name 为加粗表示此端口必须要有输入,即要给此设置一个名字,本设计设置 19 成 image。 设置图片类型通过 Image Type 节点。 Border Size 决定了宽度,图 像的边界。 函数内部结构如图 21 所示。 图 21 IMAQ Create VI 的前面板和程序框图 IMAQdx Grab2 VI 的使用 在视觉与运动模块 IMAQdx 中选择该函数,此函数的作用是获得当前传入采集的单帧图像,并存入之前获得的缓存中。 将此函数 IMAQdx Configure Grab VI 函数连接,在配置过摄像头相关信息后,则会使用该函数进行缓存的获取。 若设置的摄像头视频格式与获取的图像类型不匹配,则系统会自动将获取的图形转化到合适的图像类型格式,如图 22 所示。 图 22 IMAQdx Configure Grab VI Wait for Next Buffer? (Yes):该节点作用为判断是否等待下一个缓冲区,若为是,则等待系统提供下一个缓冲区,并继续进行采集图像;反之则不等待,直接进入到最后一个采集图像的缓冲区域。 Buffer Number Out:作用是输出系统缓冲区域的数值。 函数具体的内部结构如图 23 所示。 20 图 23 IMAQdx Grab2 VI 的前面板和程序框图 Image Display 的使用 在前面板的 Vision 中找到 Image Display 并拖至前面板上,拖入后程序框图中也会出现相对应的一个函数,将该函数连接 IMAQdx Grab2 VI,则所获得的每一帧处理的图像则会按顺序在该窗口上显示出来,如图 24 所示。 21 图 24 Image Display 带控件 While 的使用 搜索函数 While 循环会出现两个,一个是 While 循环,另一个是带有停止功能的 While循环。 本设计要求可以控制 USB 摄像头监控的开关,所以我们选择带停止功能的 While。 使用该软件的循环结构时,常用的循环结构有 For 循环和 While 循环。 通常 For 循 环在已知循环次数的情况下使用,而 While 循环在未知循环次数的情况下使用。 另外 While 循环提供布尔函数的相关功能,可以增加视频采集的流畅性。 While 循环流程图如图 25 所示。 是 否 图 25 While 循环流程图 如图所示,在 While 循环中,若程序框图内的相关代码满足循环条件则执行程序,并循代码 是否满足条件 结束 22 环至下一次判断,若程序框图内部代 码不满足循环条件则结束跳出循环。 IMAQ Dispose VI 的使用 在视觉与运动模块中 Vision Utilities 的 Image Management 里找到 IMAQ Dispose VI函数,该函数的主要功能是将之前提供的缓存清除, IMAQ Create VI 和 IMAQ Dispose VI一般为配套使用,如图 26 所示。 图 26 IMAQ Dispose VI IMAQdx Close Camera VI 的使用 在视觉与运动模块 IMAQdx 中选择该函数,此函数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。