NI Vision 控件模板

Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成:
IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据。在VI的前面板中使用该控件代表图象类型数据。例如,使用该控件作为一个子程序的输入或输出,使调用成成可以将一幅图像传送给子程序。
图像显示(Image Display)—该控件用于在LabVIEW 中直接显示图像。也可以利用该控件创建关注区域 (ROIs)。 图像显示控件提供标准和3D版两种外观。
IMAQ 视觉控件(IMAQ Vision controls)—这里的控件用于将NI Vision的程序控件直接加入入用户自己的程序中获得相应的功能。
机器视觉控件(Machine Vision controls)—这里的控件用于将NI Vision的机器视觉控件直接加入到用户自己的程序中以获得相应的功能。

NI Vision 函数模板

NI Vision for LabVIEW 由三个主要的函数模板组成:常用视觉程序(Vision Utilities), 图像处理(Image Processing), 和机器视觉(Machine Vision)。 本节介绍这些模板以及它们的子模板。
常用视觉程序(Vision Utilities)
常用视觉函数用于在NI Vision中处理和显示图像。
Image Management—管理图像程序组。利用这些程序可以建立和释放图像,设置和读取图像的属性例如尺寸和偏移量,复制图象。也可以使用一些高级的Vis来定义图像的边框区域以及访问图像数据的指针。
Files—一组使用不同格式读、写图像文件,并从文件中获得所包含的图像的信息的程序模块。
External Display—用于在外部窗口显示图像的程序模块组。使用这些程序模块可以完成以下任务:
读取和设置窗口属性,如尺寸、位置、缩放系数
为图像窗口设置调色板
建立及使用图像浏览器
在图像窗口上为选中的关注区域建立和使用不同的交互式绘图工具。
检测画图事件
获得图像窗口上有关关注区域的信息。
Region of Interest—管理关注区域的程序组。使用这些程序可以通过编程来定义关注区,以及定义关注区和图像掩码和关注区之间的相互转换。
Image Manipulation—修改图像颗粒内容的程序模块组。利用这些程序模块可以实现图像的重新采样、提取部分图像,以及图像的旋转、平移、打包。该子模板还包括了图像与剪贴板之间相互拷贝的程序模块。
Pixel Manipulation—读取和修改图像中单独像素的程序模块组。利用这些程序模块可以读取和设置图像中的像素,或者图像中的一行或一列;向图像中的地像素填充特定的值;实现图像和2维LabView矩阵之间的相互转换。
Overlay—一组不改变图像的像素值的情况将图形覆盖在在图像显示环境上的程序模块。利用这些程序模块可以使检测程序将检测结果覆盖在被检测图像上。
Calibration—空间校准图像的程序模块组,用于排除相机景深和镜头畸变,以获得精确的真实的测量结果。利用这些程序建立简单的校准,或者让NI Vision从网格图像中自动学习校准数据。还可以利用这些程序模块将像素坐标转换成真实坐标以便于测量。
Color Utilities—访问彩色图像数据的程序模块组。利用这些程序可以从图像中提取调色板,用新的数据替换彩色图像的调色板,在彩色图像与2D矩阵之间转换,读取和设置彩色图像的像素值,将像素值从一个彩色颗粒转换到另外一个彩色颗粒。
Vision RT—为LabVIEW实时模块使用NIVision提供的函数组。利用这些程序模块可以在实时系统中将图像显示到视频输出中;控制发送到网络上的图像的压缩设置,以及实时系统中处理程序的时间区段。
图像处理(Image Processing)
NI Vision 中的分析、滤波和图像处理函数。
Processing—处理灰度和二值图像的程序模块。利用这些函数可以使用不同的阈值将灰度图像转换成二值图像。也可以利用这些程序使用预定义或自定义的查找表变换图像,进行分界变换,修改图像的对比度,图像反向。
Filters—滤波器,用于增强图像中的信息。利用这些程序可以实现虚像平滑、去除噪声、高光或强化图像中的边沿。可以利用预定义的卷积内核,也可以使用自定义的卷积内核。
Morphology—形态学组,进行图像形态学运算的程序模块。其中一部分程序完成基本的形态学运算,如灰度和二值图像上的膨胀和腐蚀。另一部分程序用于改进二值图像的质量,微粒补孔、去除边框颗粒、去除小颗粒、基于颗粒的形状特征去除不希望的颗粒。该子模板中的其它组用于分割接触颗粒、查找颗粒轮廓、检测圆形颗粒。
Analysis—分子组,用于分析灰度和二值图像内容的程序模块。这些程序用于计算灰度图象的直方图和灰度统计信息,提取图像中任意维度上的像素信息和统计信息,以及检测和测量二值图像中的颗粒。
Color Processing—彩色处理组,分析和处理彩色图像的程序分组。这些程序用于计算彩色图像的直方图;为彩色图像应用查找表;改变彩色图像的亮度、对比度、伽马信息,以及阈值。其中的一部分使用彩色匹配处理比较不同图像或不同区域的彩色信息。
Operators—图像基本算数和逻辑运算程序模块组。其中一部分用于图像与图像或常数的加、减、乘、除。该子模板的另一部分进行逻辑运算-如AND/NAND, OR/NOR, XOR/XNOR—以及图像之间或常数的像素比较。另外,这个子模板中的一个程序允许利用掩码操作选择图像中的一个区域。
Frequency Domain—图像频域分析处理程序模块组。使用这些程序可以使用二维快速付利叶变换(FFT)将图像从空域转换到频域,以及利用反FFT将频域变换到空域。这些程序模块还可以提取复数图像的幅度,相位,实部和虚部。另外,这些程序模块还可以将复数图像变换成复数二维矩阵,或相反。该子模板中的程序模块也可以进行一些基本复数图像间以及复数图像与常数间的算术运算-如加、减、乘、除 运算。最后,其中的一些程序模块可以进行频域的滤波。
机器视觉(Machine Vision)
机器视觉函数是一些高级程序模块,用于简化常用的机器视觉任务。
Select Region of Interest—选择关注区程序模块组,用于选择关注区、在图像窗口上画特殊的关注区,以及使用非常少的编程返回关注区信息。
Coordinate System—坐标系统分组,用于发现与图像中物体相关的坐标系统。利用这些程序模块发现坐标系统,即可以用于边沿检测也可以用于模式匹配。还可以利用这个坐标系统从其他机器视觉程序中进行测量。
Count and Measure Objects—计数和测量物体组,该程序模块可以通过阈值将图像分割成孤立的对象,然后查找并测量这些对象的特性。该程序模块还可以在测量时忽略未知的对象。
Measure Intensities—测量强度程序模块组,用于测量一个点上的像素密度或者一个线或一个矩形区域内的像素密度统计。
Measure Distances—测量距离程序组,两条纵向边沿之间的最小和最大水平距离,或者两条横向边沿之间的最大和最小垂直距离。
Locate Edges—边沿查找程序组,查找垂直、水平、和圆形边沿。
Find Patterns—A VI that learns and searches for a pattern in an image.
Searching and Matching—搜索和匹配程序组。用于在灰度和彩色图像中建立和搜索模式。该子模板包括一个可以在二值图像中搜索制定形状对象的程序。
Caliper—卡尺,一组用于在图像的不同断面查找边沿的程序模块。使用这些程序可以沿着一条线、矩形区域(耙子)中的一组平行线、圆形区域(同心耙)中的一组平行同心线,或者圆形区域(轮子)中的一组辐射线查找边沿。还可以适用这里的程序查找图像中满足一定条件的对边。
Analytic Geometry—分析几何程序组,用于对在图像中一个点集中做分析几何运算。这些程序适用于图像中线、圆、椭圆的点集;计算一个点集代表的多边形的面积;测量点之间的距离;计算点所代表的线之间的夹角。该子模板中的程序还可以实现诸如查找两条线的交点以及查找两条线夹角的等分线等运算。
OCR—光学字符识别程序组,用于光学字符识别和图像的区域检验。
Classification—分类程序组。根据形状或用户定义的特征向量对二值对象进行分类。
Instrument Readers—设备读取程序组。用于快速开发需要从7段代码显示、计量仪表、指针、一维条码、二维条码中读取信息的程序开发。
Inspection—检测程序组。将图像与一个标准模板对比。
快速视觉(Vision Express)
Vision Express Vis用于快速开发常用的图像采集和处理应用。
Vision Acquisition—视觉获取,是一个Express VI,可以方便的配置用于获取来自模拟、数字、相机连线、IEEE 1394以及GigE版本相机的图像。
说明:必须安装NI Vision Acquisition Software才能访问Vision Acquisition Express VI。
Vision Assistant—视觉助手。利用NI Vision Assistant可以在LabVIEW 环境中完成一些常用的图像处理任务。

如何创建NI Vision应用

下面的图说明了利用NI Vision建立应用程序的步骤。第一个图描述设计NI Vision程序的一般步骤。第一个图中最后一步的第2,3项,在第二个图中扩充。可以使用最后一步的项目组合来建立NI Vision应用。
关于每个项目的详细内容,参阅图中项目相应的章节。
 
说明   虚线中的项目是可选步骤。
 
 
 说明   虚线中的项目是可选步骤。

NI Vision for LabVIEW 基础(一):NI Vision 简介的更多相关文章

  1. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  2. Java基础-JVM调优策略简介

    Java基础-JVM调优策略简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JVM结构分析 1>.JVM结构图 2>.JVM运行时数据区功能说明 JVM管理的内 ...

  3. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  4. Spring Boot 基础,理论,简介

    Spring Boot 基础,理论,简介 1.SpringBoot自动装配 1.1 Spring装配方式 1.2 Spring @Enable 模块驱动 1.3 Spring 条件装配 2.自动装配正 ...

  5. 关于使用,NI采集卡+labview信号采集,问题交流【第二贴】

    *** 采集卡 NI PCI-6534:  max sample rate 20MHz:32位的数字输入,数字输出.  ***输入信号:    峰峰值,4.16V   最小值 -80mV    频率 ...

  6. saltstack之基础入门系列文章简介

    使用saltstack已有一段时间,最近由于各种原因,特来整理了saltstack基础入门系列文章,已备后续不断查阅(俗话说好记性不如烂笔头),也算是使用此工具的一个总结.saltstack的前六篇文 ...

  7. UNIX/Linux网络编程基础:应用层协议简介

    目录 1.HTTP协议 2.FTP协议 3.TELNET协议 4.NFS协议 1.HTTP协议 应用层协议HTTP协议是Web的核心.HTTP协议在Web的客户程序和服务器程序中得以实现,运行在不同系 ...

  8. 【Java基础】Java设计模式简介

    什么是设计模式 设计模式(Design pattern)是一套被反复使用.被多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.设计 ...

  9. 爬虫基础(五)-----scrapy框架简介

    ---------------------------------------------------摆脱穷人思维 <五> :拓展自己的视野,适当做一些眼前''无用''的事情,防止进入只关 ...

随机推荐

  1. 某电商网站线上drbd+heartbeat+nfs配置

    1.环境 nfs1.test.com 10.1.1.1 nfs2.test.com 10.1.1.2 2.drbd配置 安装drbd yum -y install gcc gcc-c++ make g ...

  2. Archlinux 中安装 LyX

    LyX 是 Latex 的 GUI 界面程序.使用效果类似 Office Word 和 wps.可直接生成 PDF 文件. 我使用的是 LyX + TexLive + XeTeX 组合.近期 Arch ...

  3. js闭包深度讲解

    js的闭包是学习js过程中的重点,但是不得不说也是一个难点呀,其涉及到了js中的很多概念.我在学习js中也遇到了很多问题,这篇文章算是一个对闭包的总结,文章主要内容为闭包的基本知识点与对其理解上的一些 ...

  4. HTML5学习笔记<二>:元素,属性,格式化

    HTML元素 元素是指从开始标签到结束标签的所有代码. 开始(开放)标签 元素内容 结束(闭合)标签 <p> this is my web page </p> 没有内容的 HT ...

  5. mysql语句sum求和为null的问题

    select sum(price) as price from order where status='SUCCESS'; 如果price对应的所有的值为0,那么算出来的和为null: 可以采用ifn ...

  6. 关于<context:property-placeholder>的一个有趣现象

    转:http://stamen.iteye.com/blog/1926166 先来看下A和B两个模块 A模块和B模块都分别拥有自己的Spring XML配置,并分别拥有自己的配置文件: A模块 A模块 ...

  7. 使用sudo提示用户不在sudoers文件中的解决方法

    切换到root用户 [linux@localhost ~]$ su root 密码: [root@localhost ~]# 2 查看/etc/sudoers文件权限,如果只读权限,修改为可写权限 [ ...

  8. 【Unity优化】如何实现Unity编辑器中的协程

    Unity编辑器中何时需要协程 当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理.比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种 ...

  9. Android开发之音乐播放器

    做了一天的音乐播放器小项目,已经上传到github,将链接发到这里供大家参阅提议 https://github.com/wangpeng0531/MusicPlayer.git

  10. [cookie篇]从cookie-parser中间件说起

    当我们在写web的时候,难免会要使用到cookie,由于node.js有了express这个web框架,我们就可以方便地去建站.在使用express时,经常会使用到cookie-parser这个插件. ...