感谢原作者

文章原地址:http://guosir.blog.51cto.com/709336/269094 点击打开链接


NI Vision 控件模板


Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成:


IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据。在VI的前面板中使用该控件代表图象类型数据。例如,使用该控件作为一个子程序的输入或输出,使调用成成可以将一幅图像传送给子程序。


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用于快速开发常用的图像采集和处理应用。


<span times="" new="" roman';="" mso-bidi-theme-font:="" minor-bidi"="" lang="EN-US" style="font-family: 宋体; padding: 0px; margin: 0px;">Vision Acquisition—视觉获取,是一个Express VI,可以方便的配置用于获取来自模拟、数字、相机连线、IEEE 1394以及GigE版本相机的图像。


<span times="" new="" roman';="" mso-bidi-theme-font:="" minor-bidi"="" style="font-family: 宋体; padding: 0px; margin: 0px;">说明:必须安装NI Vision Acquisition Software才能访问Vision Acquisition Express VI。


Vision Assistant—视觉助手。利用NI Vision Assistant可以在LabVIEW 环境中完成一些常用的图像处理任务。


如何创建NI Vision应用


下面的图说明了利用NI Vision建立应用程序的步骤。第一个图描述设计NI Vision程序的一般步骤。第一个图中最后一步的第2,3项,在第二个图中扩充。可以使用最后一步的项目组合来建立NI Vision应用。


关于每个项目的详细内容,参阅图中项目相应的章节。