NI vision详解.doc
《NI vision详解.doc》由会员分享,可在线阅读,更多相关《NI vision详解.doc(89页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、NI Vision for LabVIEW 基础(一):NI Vision 简介2013-04-12 17:33:01|分类:默认分类|字号订阅Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成:IMAQ Image.ctl该控件是一个类型定义,用于声明图象类型的数据。在VI的前面板中使用该控件代表图象类型数据。例如,使用该控件作为一个子程序的输入或输出,使调用成成可以将一幅图像传送给子程序。图像显示(Image Display)该控件用于在LabVIEW中直接显示图像。也可以利用该控件创建关注区域(ROIs)。 图像显示控件提供标准和3D版两种外观。IMAQ视觉控件(IM
2、AQ Vision controls)这里的控件用于将NI Vision的程序控件直接加入入用户自己的程序中获得相应的功能。机器视觉控件(Machine Vision controls)这里的控件用于将NI Vision的机器视觉控件直接加入到用户自己的程序中以获得相应的功能。NI Vision函数模板NI Vision for LabVIEW由三个主要的函数模板组成:常用视觉程序(Vision Utilities),图像处理(Image Processing),和机器视觉(Machine Vision)。 本节介绍这些模板以及它们的子模板。常用视觉程序(Vision Utilities)常用
3、视觉函数用于在NI Vision中处理和显示图像。Image Management管理图像程序组。利用这些程序可以建立和释放图像,设置和读取图像的属性例如尺寸和偏移量,复制图象。也可以使用一些高级的Vis来定义图像的边框区域以及访问图像数据的指针。Files一组使用不同格式读、写图像文件,并从文件中获得所包含的图像的信息的程序模块。External Display用于在外部窗口显示图像的程序模块组。使用这些程序模块可以完成以下任务:读取和设置窗口属性,如尺寸、位置、缩放系数为图像窗口设置调色板建立及使用图像浏览器在图像窗口上为选中的关注区域建立和使用不同的交互式绘图工具。检测画图事件获得图像窗
4、口上有关关注区域的信息。Region of Interest管理关注区域的程序组。使用这些程序可以通过编程来定义关注区,以及定义关注区和图像掩码和关注区之间的相互转换。Image Manipulation修改图像颗粒内容的程序模块组。利用这些程序模块可以实现图像的重新采样、提取部分图像,以及图像的旋转、平移、打包。该子模板还包括了图像与剪贴板之间相互拷贝的程序模块。Pixel Manipulation读取和修改图像中单独像素的程序模块组。利用这些程序模块可以读取和设置图像中的像素,或者图像中的一行或一列;向图像中的地像素填充特定的值;实现图像和2维LabView矩阵之间的相互转换。Overla
5、y一组不改变图像的像素值的情况将图形覆盖在在图像显示环境上的程序模块。利用这些程序模块可以使检测程序将检测结果覆盖在被检测图像上。Calibration空间校准图像的程序模块组,用于排除相机景深和镜头畸变,以获得精确的真实的测量结果。利用这些程序建立简单的校准,或者让NI Vision从网格图像中自动学习校准数据。还可以利用这些程序模块将像素坐标转换成真实坐标以便于测量。Color Utilities访问彩色图像数据的程序模块组。利用这些程序可以从图像中提取调色板,用新的数据替换彩色图像的调色板,在彩色图像与2D矩阵之间转换,读取和设置彩色图像的像素值,将像素值从一个彩色颗粒转换到另外一个彩色
6、颗粒。Vision RT为LabVIEW实时模块使用NIVision提供的函数组。利用这些程序模块可以在实时系统中将图像显示到视频输出中;控制发送到网络上的图像的压缩设置,以及实时系统中处理程序的时间区段。图像处理(Image Processing)NI Vision中的分析、滤波和图像处理函数。Processing处理灰度和二值图像的程序模块。利用这些函数可以使用不同的阈值将灰度图像转换成二值图像。也可以利用这些程序使用预定义或自定义的查找表变换图像,进行分界变换,修改图像的对比度,图像反向。Filters滤波器,用于增强图像中的信息。利用这些程序可以实现虚像平滑、去除噪声、高光或强化图像中
7、的边沿。可以利用预定义的卷积内核,也可以使用自定义的卷积内核。Morphology形态学组,进行图像形态学运算的程序模块。其中一部分程序完成基本的形态学运算,如灰度和二值图像上的膨胀和腐蚀。另一部分程序用于改进二值图像的质量,微粒补孔、去除边框颗粒、去除小颗粒、基于颗粒的形状特征去除不希望的颗粒。该子模板中的其它组用于分割接触颗粒、查找颗粒轮廓、检测圆形颗粒。Analysis分子组,用于分析灰度和二值图像内容的程序模块。这些程序用于计算灰度图象的直方图和灰度统计信息,提取图像中任意维度上的像素信息和统计信息,以及检测和测量二值图像中的颗粒。Color Processing彩色处理组,分析和处理
8、彩色图像的程序分组。这些程序用于计算彩色图像的直方图;为彩色图像应用查找表;改变彩色图像的亮度、对比度、伽马信息,以及阈值。其中的一部分使用彩色匹配处理比较不同图像或不同区域的彩色信息。Operators图像基本算数和逻辑运算程序模块组。其中一部分用于图像与图像或常数的加、减、乘、除。该子模板的另一部分进行逻辑运算-如AND/NAND, OR/NOR, XOR/XNOR以及图像之间或常数的像素比较。另外,这个子模板中的一个程序允许利用掩码操作选择图像中的一个区域。Frequency Domain图像频域分析处理程序模块组。使用这些程序可以使用二维快速付利叶变换(FFT)将图像从空域转换到频域,
9、以及利用反FFT将频域变换到空域。这些程序模块还可以提取复数图像的幅度,相位,实部和虚部。另外,这些程序模块还可以将复数图像变换成复数二维矩阵,或相反。该子模板中的程序模块也可以进行一些基本复数图像间以及复数图像与常数间的算术运算-如加、减、乘、除 运算。最后,其中的一些程序模块可以进行频域的滤波。机器视觉(Machine Vision)机器视觉函数是一些高级程序模块,用于简化常用的机器视觉任务。Select Region of Interest选择关注区程序模块组,用于选择关注区、在图像窗口上画特殊的关注区,以及使用非常少的编程返回关注区信息。Coordinate System坐标系统分组,
10、用于发现与图像中物体相关的坐标系统。利用这些程序模块发现坐标系统,即可以用于边沿检测也可以用于模式匹配。还可以利用这个坐标系统从其他机器视觉程序中进行测量。Count and Measure Objects计数和测量物体组,该程序模块可以通过阈值将图像分割成孤立的对象,然后查找并测量这些对象的特性。该程序模块还可以在测量时忽略未知的对象。Measure Intensities测量强度程序模块组,用于测量一个点上的像素密度或者一个线或一个矩形区域内的像素密度统计。Measure Distances测量距离程序组,两条纵向边沿之间的最小和最大水平距离,或者两条横向边沿之间的最大和最小垂直距离。Lo
11、cate Edges边沿查找程序组,查找垂直、水平、和圆形边沿。Find PatternsA VI that learns and searches for a pattern in an image.Searching and Matching搜索和匹配程序组。用于在灰度和彩色图像中建立和搜索模式。该子模板包括一个可以在二值图像中搜索制定形状对象的程序。Caliper卡尺,一组用于在图像的不同断面查找边沿的程序模块。使用这些程序可以沿着一条线、矩形区域(耙子)中的一组平行线、圆形区域(同心耙)中的一组平行同心线,或者圆形区域(轮子)中的一组辐射线查找边沿。还可以适用这里的程序查找图像中满足一
12、定条件的对边。Analytic Geometry分析几何程序组,用于对在图像中一个点集中做分析几何运算。这些程序适用于图像中线、圆、椭圆的点集;计算一个点集代表的多边形的面积;测量点之间的距离;计算点所代表的线之间的夹角。该子模板中的程序还可以实现诸如查找两条线的交点以及查找两条线夹角的等分线等运算。OCR光学字符识别程序组,用于光学字符识别和图像的区域检验。Classification分类程序组。根据形状或用户定义的特征向量对二值对象进行分类。Instrument Readers设备读取程序组。用于快速开发需要从7段代码显示、计量仪表、指针、一维条码、二维条码中读取信息的程序开发。Inspe
13、ction检测程序组。将图像与一个标准模板对比。快速视觉(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环境中完成一些常用的图像
14、处理任务。如何创建NI Vision应用下面的图说明了利用NI Vision建立应用程序的步骤。第一个图描述设计NI Vision程序的一般步骤。第一个图中最后一步的第2,3项,在第二个图中扩充。可以使用最后一步的项目组合来建立NI Vision应用。NI Vision for LabVIEW 基础(二):准备测量图像2013-04-12 17:34:33|分类:默认分类|字号订阅本节介绍如何建立图像系统,采集和显示图像,分析图像,以及为进一步处理准备图像。建立图像系统在开始获取、分析、处理图像之前,必须先建立图像系统。建立图像系统的方法取决于图像环境以及分析和处理的需要。图像系统应该产生足够
15、高的质量以能够从图像中获取信息。搭建图像系统的完整步骤如下。根据给定的颗粒限制以及被检测物体的尺寸,确定设备类型。参考NI Vision概念手册中第三章,系统设置与校准。确保相机传感器足够大以满足对最低分辨率的要求。确保镜头景深足够高以保证焦点内的所有物体都不会因为镜头而畸变。还要确保镜头的焦距满足需要。确保光照能够提供被检测物体与背景之间有足够的对比度,一便从图像中获取信息。将相机摆放在与被测物体垂直的位置。如果相机获取的物体的图像带有角度,就会产生透视误差。即便可以通过软件补偿这些误差,National Instruments 还是建议采用垂直的角度以获得最精确的结果。选择一个满足需要的图
16、像采集设备。National Instruments 提供了许多图像获取设备,例如模拟的彩色和单色设备以及数字设备。更多有关NI图像采集设备的详细信息,请访问: 。为图像采集设备配置驱动程序软件。如果拥有一台NI图像采集设备,可以通过Measurement& Automation Explorer (MAX)配置NI-IMAQ 或NI-IMAQdx驱动程序。 在桌面上双击Measurement & Automation 图标打开MAX 。详细信息参见Measurement & Automation Explorer Help。校准图像系统建立图像系统后,可以校准系统,为像素坐标指定实际的坐标,
17、补偿图像系统中固有的角度和非线性误差。像机与被测物体不垂直发生透视误差。非线性失真可能来自像机镜头畸变。透视误差和镜头畸变导致出现扭曲的图像。这种失真替代了图像中的信息,但并不一定是破坏映像中的信息。如果仅仅希望为像素坐标指定实际的坐标使用简单校准。如果需要补偿透视误差和非线性镜头扭曲使用透视和非线性扭曲校准。创建图像使用IMAQ Create程序建立一个引用图像。建立图像时,要制订下列图像数据类型之一:Grayscale (U8, default)8-位无符号Grayscale (U16)16-位无符号Grayscale (I16)16-位有符号Grayscale (SGL)浮点Comple
18、x (CSG)64-位复数RGB (U32)32-位 RGBHSL (U32)32-位HSLRGB (U64)64-位RGB如果需要可以多次执行IMAQ Create建立多个图像,但所创建的每个图像都需要唯一的名称。通过分析预期的应用程序确定所需的图像个数。依据是程序的不同的处理阶段及是否需要为每个处理阶段后保持原始图像。说明如果打算在图像上使用滤波或颗粒分析程序,必须保证图像有合适的边沿尺寸。默认的边沿尺寸为三个像素。当创建图像时,NI Vision建立了一个内部的图像结构以保存图像的属性,如名称和边沿尺寸。然而,此时没有为图像像素分配内存。NI Vision程序在图像尺寸修改时自动分配一定
19、量的内存。例如,采集和重取样程序改变图像尺寸所以它们会为图像像素分配适当的内存。IMAQ Create的输出是一个图像结构的引用。 可将该引用作为输入提供给所有NI Vison函数的子程序。开发期间,可能需要在运行时验证图像的内容。使用LabVIEW图像探针可以在运行期间察看图像的内容。要建立探针,右击图像连接线,选择Probe即可。许多属于NI Vision库的程序都需要一个或多个图像引用。所需的图像引用的数量取决图像处理函数和希望使用图像的类型。分析图象的NI Vision模块不修改只需要一个图像引用输入的内容。处理图像内容的模块可能要求一个引用作为源图像和一个目标图像,或者模块有一个可选
20、的目标图像。如果不能提供源图像,模块会修改源图像。在应用程序的最后,利用IMAQ Dispose模块释放所创建的图像。输入输出合并根据模块完成的功能类型的不同,输入输出可能会产生不同的合并。可以利用这种灵活性决定要处理那个图像以及在哪里保存结果图像。如果没有膜表图像连线,那么使用源图像并传递给目的输出。下面的图描述了NI Vision中一些模块的接线板。图象分析下面的连线板仅用于分析图像的模块,所以既不改变图像尺寸也不改变内容。 这种操作的例子包括颗粒分析和直方图计算。图像遮罩下面的连线板介绍了图像遮罩。Image Mask输入端表明处理和分析是依赖与另外一个图像的内容:Image Mask。
21、仅当Image Mask中对应的像素不为空时Image中的像素才被处理。如果一个Image Mask的像素是0, 对应的Image像素不会被改变。说明除了IMAQ定量模块之外,所有的NI Vision程序的图像遮罩都必须是8-bit的图像,IMAQ定量模块支持8-bit和16-bit的图像遮罩。如果要对整幅图像进行处理或分析,就不要连接Image Mask输入端。 将同一个图象既连接到Image的输入也连接到Image Mask的输入,与将Image Mask的输入端开放不连的效果是一样的,除非是Image必须是一个8-bit的图像情况下。图像填充下面的连线板用于完成图像填充的程序。这类操作的
22、例子包括读取文件,从NI图像采集设备采集图像,或者将一个二维矩阵转换成图像。这类模块可能修改图像的尺寸。图像处理下面的连线板用于处理图像的模块。这种连接器是NI Vision中最常见的。Image Src输入端接收要处理的图像。Image Dst输入端可以接收另一个图像或者是源图象,取决于使用的目标。如果两个不同的图像连接到两个输入端,那么源Image Src图像不被修改。如下图所示,如果Image Dst和Image Src输入端接收同一个图像,或者Image Dst不连接,处理过的图像被放到源图像,而原图像数据丢失。Image Dst输入端是接收处理结果的图像。根据模块功能的不同,即可能与
23、源图像相同,也可能不同。各个模块的介绍都包括可以连接到Image输入端的图像类型。连接到Image Dst的图像根据源图像调整大小。算术与逻辑运算下面的连线板用于在两个图像间进行算术或逻辑运算的模块。目标图像需要两个源图像存在。可以在两个图像A 和B之间完成一个运算,然后把结果存放到另一个图像或者是Image Dst中,或者存放到两个源图像之一A 或B中。在后一种情况下,可以认为源数据在处理发生之后就没用了。 下面的合并在这种接线板中是可能的。左面的接线板中,三个图像都不同。Image Src A和Image Src B在处理后原封不动,运算的结果存放到Image Dst中。中间的连线板中,I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NI vision详解 vision 详解
限制150内