第四章labview图形显示 (1)

第四章labview图形显示 (1)
第四章labview图形显示 (1)

第四章图形显示

4.1概述

图形显示对于虚拟仪器面板设计是一个重要的内容。LabVIEW为此提供了丰富的功能。在前面几章我们已经接触了这个问题,现在较系统地介绍一下。

我们不从图形的实现方法上去讨论问题,那是计算机图形学的课题。但我们需要从用户的可能的需求角度探求一下,如果你需要做虚拟仪器方面的开发,那么可能遇到些什么图形问题。LabVIEW在这方面所做的工作是非常值得借鉴的。

在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。现在,数字示波器也可以具备类似Graph的显示功能。

Chart Graph

Waveform(波形)* *

XY *

Intensity(强度图)* *

Digital(数字图)*

3D Surface(三维曲面)*

3D Parametric(三维参变量)*

3D Curve(三维曲线)*

而Graph 方式表现形式要远为丰富,但这是以牺牲实时为代价的。在LabVIEW 6i版本中还包含有极坐标等其他图形(Plot),本章不讨论。

4.2Graph控件

各种图形都提供了相应的控件,以Graph为例介绍。图4-1所示为它的控件。所有这些控件都包含在图形快速菜单的Visible Items选项下。

曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。

图形模板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。

光标图例可用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。

刻度图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。

图4-1 Graph的图形控件

4.3Chart的独有控件

Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据,Chart控件内部含有一个显示缓冲器,其中保留了一些历史数据。这个缓冲器按照先进先出的原则管理,其最大容量是1024个数据点。

●滚动条(Scrollbar)

它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。

●数据显示(Digital Display)

选中它,可以在图形右上角出现一个数字显示器,这样可以在画出曲线的同时显示当前最新的一个数据值。

●刷新模式(Update Mode)

Chart提供了三种画面的刷新模式,分别是

?Strip Chart Mode(条壮图):它与纸带式图表记录仪类似。曲线从左到右连续绘制,当新的数据点到达右部边界时,先前的数据点逐次左移。

?Scope Chart Mode(示波器模式):它与示波器类似。曲线从左到右连续绘制,当新的数据点到达右部边界时,清屏刷新,从左边开始新的绘制。它的速度较快。

?Sweep Chart Mode(扫描模式):与示波器模式的不同在于当新的数据点到达右部边界时,不清屏,而是在最左边出现一条垂直扫描线,以它为分界线,将原有曲线

逐点向右推,同时在左边画出新的数据点。如此循环下去。

●堆叠式图区(Stack Plots)

在相同的纵坐标下,由于各种测量信号的差异,将几条曲线显示在同一个图区有困难时,可以组织出一种纵坐标相同,而有各自横坐标的堆叠式图区。

打开\LabVIEW\Examples\Graphs\chart.lib目录的Charts.vi,那里提供了有关Chart的各

曲线图例

刻度图例

(Scale Legend)

图形模板

(Graph Palette)

光标图例

(Cursor Legend)

标签(Label)

说明

(Caption)

种形态的例子,以及堆叠式图区的例子

练习4-1Chart和Graph的比较

目的:创建一个VI,用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别。前面板及流程图如下

图4-2Chart和Graph的比较

显示的运行结果是一样的。但实现方法和过程不同。在流程图中可以看出,Chart产生在循环内,每得到一个数据点,就立刻显示一个。而Graph在循环之外,40个数都产生之后,跳出循环,然后一次显示出整个数据曲线。从运行过程可以清楚地看到这一点。

值得注意的还有For循环执行40次,产生的40个数据存储在一个数组中,这个数组创建于For循环的边界上(使用自动索引功能)。在For循环结束之后,该数组就将被传送到外面的Graph。仔细看流程图,穿过循环边界的连线在内、外两侧粗细不同,内侧表示浮点数,外侧表示数组。

练习4-1结束

4.4XY图形控件(XY Graph)

波形图(Waveform Graph)有一个特征,其X是测量点序号、时间间隔等,Y是测量数据值。但是它并不适合描述一般的Y值随X值变化曲线。适合于这种情况的控件是XY Graph。我们通过一个构成利萨育图形的例子来看一下它的使用。我们知道如果控制XY方向的两个数组分别按正弦规律变化(假设其幅值、频率都相同),如果它们的相位相同,则利萨育图形是一条45度的斜线,当它们之间相位差90度时为圆,其他相位差是椭圆。

练习4-2利用XY Graph构成利萨育图形。

图4-3利用XY Graph构成利萨育图形

面板和框图如图4-3所示。面板上除了一个XY Graph外,还有一个相位差输入控件。在框图中使用了两个Sine Waveform.vi,第一个所有输入参数(包括频率、幅值、相位等)都使用缺省值,所以其初始相位为0。第二个将其初始相位作为一个控件引到面板上。它们的输出是包括t0、dt和Y值的簇,但是对于XY Graph只需要其中的Y数组,因此使用波形函数中的Get Waveform Components函数分别提取出各自的Y数组,然后再将他们捆绑在一起,连接到XY Graph就可以了。当相位置为45度时,运行程序,得到如图所示的椭圆。练习4-2结束

4.5强度图形控件(Intensity Graph)

强度图形控件提供了一种在二维平面上表现三维数据的方法。例如可以用屏幕色彩的亮度来反映来反映一个二维数组元素值的大小。图4-3就是这样的一个例子。注意图中的x、y轴刻度对应的是数组行、列的序号。

图4-4用强度图形表现一个二维数组及其元素值的大小

4.6数字波形图控件(Digital Waveform Graph)

该控件的例子见图4-5。面板上有一个输入控制,共输入了7个十进制数,还有一个二进制显示对象,显示了这些十进制数对应的二进制数,最右边是一个Digital Waveform Graph。注意这个图中数据应当从纵方向读出,在横坐标上的刻度是数据的序号(0到6),其中最后一个数的序号是6,纵坐标从下向上读是,第一个数的序号是0,其值从上向下读是00000001,而第二个数(序号1)是00000010。

图4-5数字波形图控件的例图

该程序的框图中值得注意的问题有以下几点:

●十进制数可以直接送给Digital Waveform Graph,不必事先转化为二进制数。

●在送给Digital Waveform Graph之前,需要经过一个捆绑(bundle函数)。

●捆绑的顺序是x0、deltx 、输入数据,最后是Number of Ports。这里的Number of

Ports将反映二进制的位数或字长,为1时是8位,为2时变为16位,余类推。4.73D图形显示控件(3D Graph)

基于labview的画图程序

目录 1 目的及基本要求 (1) 2 画图程序原理 (1) 2.1 基本原理 (1) 2.2 流程图 (1) 3画图程序设计 (2) 3.1 总体程序设计 (2) 3.2 各功能模块详细设计 (3) 4 结果及性能分析 (7) 4.1 运行结果 (7) 4.2 性能分析 (8) 5 设计总结与体会 (8) 参考文献 (8)

1 目的及基本要求 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现基本的画图功能。 基本要求:本设计要做一个能够画出直线等图形的画图界面,在界面中不仅可以改变线条颜色,还可以进行返回修改。 2 画图程序原理 2.1 基本原理 在VI程序前面板中添加直线,矩形,圆,椭圆以及三角形部件,然后使用六个滑杆类的属性并分成两组,来控制线条颜色,最后添加返回按钮和画图面板,线条颜色显示板,整个程序要用到while循环结构,条件结构,事件结构,元素同址结构。 2.2 流程图 画图程序流程图 选择图形 移动鼠标 在面板上画图 结束 图1画图程序流程图

3画图程序设计 3.1 总体程序设计 在VI程序前面板中分别添加颜色显示控件和面板控件,颜色显示控件可使线条颜色清晰地展现在我们眼前;而面板则是为了画出我们想要的图形做准备。其他的图形控件使此画图程序多样化,增加了图形的可选择性,颜色则由六种基色混合而成,使线条颜色选择更符合使用者要求。 (1)主程序前面板框图如下: 图2画图程序前面板 (2)主程序执行时后面板设计如下:

图3执行时的后面板 3.2 各功能模块详细设计 (1)改变color值时 创建一个子VI,在程序框图中添加一个while循环结构,while循环结构中要用到条件结构,条件结构中要用到事件结构,事件结构中又要用到元素同址结构。 控件图如下: 图4 color值发生改变

Labview中的图像处理案例介绍

Labview中的图像处理案例介绍 发布时间:2016-01-07之前我们介绍了MV-EM130M工业相机的实时图像获取方法,本文再结合labview的图像处理函数给出一种简单的图像处理VI。此处的图像处理包括对图像进行采样,找出与采样点相同的图像。为了找出各种角度放置的采样点,在查找的同时对图像进行了360°的翻转,这样可以找出图像上所有相同点。 由于软件的运行比较复杂,数据的采集又是实时的,要求处理速度比较快,所以要对其进行整体设计,合理安排控件的调用和执行顺序。本程序中采用了一个大循环,保持程序的持续运行。在内部再调用一个顺序结构来控制程序的执行顺序,这样可以保证程序按编程者的思路进行。 图像采集&整个程序流程图 读取了图像数据后,还要设置查找的像素。这里通过一个光标选择函数来实现。先用函数IMAQ Setup Learn Pattern 2来设置需要记录的各项,然后再用IMAQ Extract函数进行光标设置。这样就记录了此光标区域的图像数据。

设置查找像素 这里用一个条件结构来控制是否进入记录像素的程序,也就是当选择了要记录的像素后,才进入此分支程序。在这一分支程序中,又利用了一个顺序结构,这样提高了程序运行的效率。 复位记录按钮 当设置完以上要查找的像素后,就可以在需要的图片中查找此像素。为了查找有用的像素,在选择了“开始查找”后,要先读取上面标记的像素,再进行查找。此处程序的设计中,也是先运行一个条件结构,再运行顺序结构,按顺序执行程序。 读取选择的像素 当读取像素后,利用顺序结构在第二帧的图像中继续查找。在这一帧中放置了一个循环,并限制循环次数为4。此时先用一个IMAQ Rotate对图像进行翻转,每次翻转90°。这样就可以在循环4次时翻转一周,对图像上各个角度的像素进行查找。再把图像送到IMAQ Match Pattern 2函数,对其进行查找。通过此函数直接输出找到的像素信息的数组。为了对找到的信息进行处理,又用一个For循环对此数据和簇进行拆分。 程序编写完成后,要对系统进行软硬件的联机调试。这里把维视图像的MV-EM130M工业相机用网线和计算机连接,并在计算机上安装驱动程序。具体操作如下:

LabVIEW教程第四章图形显示

第四章图形显示 4.1概述 图形显示对于虚拟仪器面板设计是一个重要的内容。LabVIEW为此提供了丰富的功能。在前面几章我们已经接触了这个问题,现在较系统地介绍一下。 我们不从图形的实现方法上去讨论问题,那是计算机图形学的课题。但我们需要从用户的可能的需求角度探求一下,如果你需要做虚拟仪器方面的开发,那么可能遇到些什么图形问题。LabVIEW在这方面所做的工作是非常值得借鉴的。 在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。现在,数字示波器也可以具备类似Graph的显示功能。 LabVIEW 方式表现形式要远为丰富,但这是以牺牲实时为代价的。在LabVIEW 6i版本中还包含有极坐标等其他图形(Plot),本章不讨论。 4.2Graph控件 各种图形都提供了相应的控件,以Graph为例介绍。图4-1所示为它的控件。所有这些控件都包含在图形快速菜单的Visible Items选项下。 曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。 图形模板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。 光标图例可用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。 刻度图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。

用Labview实现图像采集

用Labview实现图像采集 一、程序功能: 1.通过选择相机实现电脑摄像头或CCD连续图像采集。 2.控制图像采集时间。 3.显示图像采集速率和程序运行时间。 4.给采集到的图像命名并保存到特定的文件夹。 二、程序介绍: 1.前面板(控制面板) 要求:实现连续图像采集所需要的软件条件: 1.安装VAS(Vision Acquisition Software) 2.如果要实现CCD图像采集,需安装CCD的驱动程序 操作说明: 1.选择相机名称 2.设置采集时间 3.运行VI 相机名字:通过下拉菜单选择相机,包括电脑摄像头和USB接口的CCD设备采集速率。采集速率:实时显示采集图像的速率。 缓冲数:实时显示从程序运行开始采集图像的数目。 设置采集时间:根据需求设置采集时间。默认值为0,只采一幅图像。 采集进行时间:程序已经运行的时间。 设置保存路径:指定图片的保存位置。如果不设置,只进行实时采集不保存图像。Stop:采集停止。 图像:显示图像信息。左侧为兴趣区域选择工具,作用是使研究区域更加醒目,便于观察。从上到下依次是: 实现图形的放大 显示鼠标位置,不进行其他操作 拖动图片 选择兴趣区为一点 选择兴趣区为矩形包围的区域,两边为水平和竖直

选择兴趣区为矩形包围的区域,矩形方向任意 选择兴趣区为折线 选择兴趣区为折线区域(所画折线自动闭合) 选择兴趣区为曲线 选择兴趣区为曲线保卫的区域 选择兴趣区为椭圆 选择兴趣区为圆环 以折线兴趣区域为例,如图 2.后面板(程序框图) 1. 循环,将采集、保存、计时等功能循环进行。 在循环中,获取最新的图像并输出。 2.循环的初始条件设置,选择相机,并将相机作为循环的输入。 和前面版里的相机名字相对应,作用是选择相机。 打开一个照相机,查询摄像机功能,装载的照相机的配置文件,并创建一个唯一的参考到摄像机。 Camera Control Mode照相机控制模式,在控制器模式打开相机,配置和获取图像数据。Session In指定要打开摄像机的名称,默认值是CAM0。 Session Out是相机的一个参考,输出图像数据。 配置并开始抓取图像,抓取循环连续进行,并将抓取到的图像放到缓冲区,可以实现高速图像采集。 Session In/out作用与打开相机里的类似。 3.循环结束时,关闭相机,若循环出错,则关闭相机并报错。 终止采集程序并关闭相机。 当有错误输入时,破坏图像,并释放它在存储器占据的空间。 4.将从相机采集到的数据,以图像的形式输出,并计算图像采集速率和采集数,在前面板输出。 5.在循环中计算采集速率和程序运行速率,控制采集时间。 本部分与stop按钮以及错误三者共同控制条件的运行,当三个条件中的任意一个为真时,循环都会终止。 显示从指定起始时间起,已经用去的时间,达到目标时间后会重置。“已用时间(s)”可以输出程序运行的时间。将已用时间与设置时间进行比较,当已用时间大于设置时间是条件为真,控制循环停止。 6.在特定的路径保存图像,并通过循环为其命名。

基于Labview的图像采集与处理

目前工作成果: 一、USB图像获取 USB设备在正常工作以前,第一件要做的事就是枚举,所以在USB摄像头进行初始化之前,需要先枚举系统中的USB设备。 (1)基于USB的Snap采集图像 程序运行结果: 此程序只能采集一帧图像,不能连续采集。将采集图像函数放入循环中就可连续采集。

循环中的可以计算循环一次所用的时间,运行发现用Snap采集图像时它的采集速率比较低。运行程序时移动摄像头可以清楚的看到所采集的图像有时比较模糊。 (2)基于USB的Grab采集图像 运行程序之后发现摄像头采集图像的速率明显提高。

二、图像处理 1、图像灰度处理 (1)基本原理 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。 第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。 第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。 (2)labview中图像灰度处理程序框图 处理结果:

labview数组、簇和图形的区别

数组是同类型元素的集合。一个数组可以是一维或者多维, 如果必要,每维最多可有231-1个元素。可以通过数组索引访问 其中的每个元素。索引的范围是0到n – 1,其中n是数组中 元素的个数。图3-1所显示的是由数值构成的一维数组。注意 第一个元素的索引号为0,第二个是1,依此类推。数组的元素 可以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2数组的创建及自动索引 3.2.1创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择 Functions?Array?Array Constant,将它放置在流程图中。然后 再在数组框中放置数值常量、布尔数还是字符串常量。下图显示 了在数组框放入字符串常量数组的例子。左边是一个数组壳,中 间的图上已经置入了字符串元素,右边的图反映了数组的第0个 元素为:”ABC”,后两个元素均为空。 图3-1数组的创建 在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将

labview练习题

1. 10.21 产生100个随机数,求其最小值和最大值以及平均值 2. 10.22 用for循环产生4行100列的二维数组,数组成员如下: 1,2,3.......100; 100,99,98.......1; 6,7,8.......105; 105,104,103......6; 从这个数组中提取2行50列的二维数组,数组成员如下: 50,49,48......1; 56,57,58 (105) 将这2个数组用数组显示件显示在前面板. 3. 10.23 程序开始运行时候要求用户输入一个口令,口令显示正确时候滑钮显示件显示0---100的随机数,否则程序立即停止. 4. 10.24 编写一个程序,在前面板上放3个按钮,当按下某个按钮时,输出按钮的编号. 5. 10.25 编写计算以下等式的程序: y1=x3-x2+5 y2=m*x+b x的范围是0---10。 y1和y2用数组显示件显示在前面板。 6. 10.26 编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下? 7. 10.27 猴子吃桃子问题,每天吃完全部的桃子一半又一个,到第10天的时候还剩下一个,编程求第一天桃子的总数. 8. 10.28 编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1; 9. 10.31 编程求1000以内的"完数","完数"是指一个数恰好等于它本身的因子之和,例如28=14+7+4+2+1; 10. 11.1 在一个chart中显示3条曲线,分别用红,绿,蓝3种颜色表示范围0-1,0-5,0-10的3个随机数. 11. 11.2 在一个Graph中用2种不同的的线宽显示1条正弦曲线和一条余弦曲线,每条曲线长度为128个点.正弦曲线x0=0,Dealt x=1,余弦曲线x0=2,Dealt x=10. 12. 11.3 用XY Graph显示一个半径为1的圆 13. 11.4 产生一个10行10列的二维数组,数组成员为0--100的数字,并用强度图显示. 14. 11.5 画出Labview图形显示,以及放大缩小功能,以及在此图标上添加可改变的labVIEW字体样式. 15. 11.6 在前面板创建数值型控件,输入一个数值,在乘以一个比列系数,然后还在同一个控件中显示出来.(局部变量用法) 16. 11.7 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差异.(全局变量) 17. 11.8 编写一个程序,用labview的信号生成函数产生一个三角波并显示在chart上,在编写例外一个程序读出数据显示在chart上,调节2者的程序运行的时间,比较波形的差

虚拟仪器图形编程LabVIEW实验教材(三) 数组、簇和图形

第三章数据类型:数组、簇和波形 3.1概述 数组是同类型元素的集合。一个数组可以是一维或者多维, 如果必要,每维最多可有231-1个元素。可以通过数组索引访问 其中的每个元素。索引的范围是0到n – 1,其中n是数组中 元素的个数。图3-1所显示的是由数值构成的一维数组。注意 第一个元素的索引号为0,第二个是1,依此类推。数组的元素 可以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2数组的创建及自动索引 3.2.1创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择 Functions?Array?Array Constant,将它放置在流程图中。然后 再在数组框中放置数值常量、布尔数还是字符串常量。下图显示 了在数组框放入字符串常量数组的例子。左边是一个数组壳,中 间的图上已经置入了字符串元素,右边的图反映了数组的第0个 元素为:”ABC”,后两个元素均为空。 图3-1数组的创建

在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将 它们复制或者拖曳到流程图中,创建对应的常数。 还有很多在流程图中创建和初始化数组的方法,有些功能函 数也可以生成数组。 3.2.2数组控制对象、常数对象和显示对象 通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。 3.2.3自动索引 For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。 在默认情况下,对于每个连接到For循环的数组都会执行自 动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单击 通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。 练习3-1创建一个自动索引的数组 目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。 前面板 图3-2练习3-1的面板 1.打开一个新的前面板。 2.选择Controls?Array & Cluster,在前面板 中放置一个数组。设置它的标签为Waveform Array。 3.选择Controls?Numeric,在

labview 数组、簇和图形

第三章 数据类型:数组、簇和波形 3.1 概述 数组是同类型元素的集合。一个数组可以是一维或者多维, 如果必要,每维最多可有231-1个元素。可以通过数组索引访问 其中的每个元素。索引的范围是0到n – 1,其中n是数组中元 素的个数。图3-1所显示的是由数值构成的一维数组。注意第 一个元素的索引号为0,第二个是1,依此类推。数组的元素可 以是数据、字符串等,但所有元素的数据类型必须一致。 图3-1 数组示意图 簇(Cluster)是另一种数据类型,它的元素可以是不同类 型的数据。它类似于C语言中的stuct。使用簇可以把分布在流 程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤 程度。减少子VI的连接端子的数量。 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。 3.2 数组的创建及自动索引 3.2.1 创建数组 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择 Functions?Array?Array Constant,将它放置在流程图中。然后 再在数组框中放置数值常量、布尔数还是字符串常量。下图显示 了在数组框放入字符串常量数组的例子。左边是一个数组壳,中 间的图上已经置入了字符串元素,右边的图反映了数组的第0个 元素为:”ABC”,后两个元素均为空。 图3-1 数组的创建

在前面板中创建数组的方法是,从Controls模板中选择 Array & Cluster,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将 它们复制或者拖曳到流程图中,创建对应的常数。 还有很多在流程图中创建和初始化数组的方法,有些功能函 数也可以生成数组。 3.2.2 数组控制对象、常数对象和显示对象 通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。 3.2.3 自动索引 For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。 在默认情况下,对于每个连接到For循环的数组都会执行自 动索引功能。可以禁止这个功能的执行,方法是用鼠标右键单击 通道(输入数组进入循环的位置),在快捷菜单中选择Disable Indexing。 练习 3-1创建一个自动索引的数组 目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。 前面板 图3-2 练习3-1的面板 1.打开一个新的前面板。 2.选择Controls?Array & Cluster,在前面板 中放置一个数组。设置它的标签为Waveform Array。 3.选择Controls?Numeric,在

labview 图形图表学习笔记

图形化数据显示 关键词:图表、波形函数 1、波形图表(GRAPH); 波形图表主要功能是将新测到的数据添加到波形图表的尾端并保存至波形图表的数据缓冲区,在默认情况下,缓冲区可保存1024个数据,缓冲区的存储数量可以在波形图表的右键快捷菜单中选择“图表历史长度”进行修改通过簇绑定的方法可以同时显示多条曲线 2、波形图(waeform) 波形图与波形图表类似。波形图不会像波形图表一样将数据添加的到数据尾部,而是将当前数据一次性地描述在波形曲线中,而且波形图也不能输入标量数据。簇和一维簇数组可以输入波形图。却不能输入波形图表 B、当簇输入波形图时,簇中必须接入三个元素;第一个是横坐标的起始位置X0,第二 个是很坐标的间隔dx,第三个是要输入的数据,数据可以是一维数组、二维数组或者是簇数组。如图所示,在程序框图中先将X0,dx和一维数组/二维数组按照顺序捆绑成簇,然后将簇直接输入到波形图中显示

当两个数组个数不想同时,可将两个数据捆绑成簇数组然后显示 D、显示波形数据 3、定制波形图表 在使用波形图表时需要对其一些属性进行设置。在属性对话框中可设置标尺的格式、精度、最大/最小值,曲线的类型颜色等属性。在图表的右键快捷菜单中也可以对一些属性进行设置,也有一些功能键。另外波形菜单还有一些辅助工具可以通过右键快捷菜单中的“显示”进行选择 外观设置,高级—刷新模式有三种1、带状图表:显示区满后,曲线会整体向左移动,新的数据会接在曲线的尾部;2、示波器图表:在曲线填满显示区后会清空显示区,然后重新开始显示新的曲线;3、扫描图:显示区有一条垂直红线,数据会跟着红线从左向右显示。 在显示多条曲线时,可以设置是否分格显示。右键快捷菜单-分格显示曲线(设置分格显示后需要将图例全部显示出来) 设置曲线属性在属性对话框中曲线标签下可以设置各个曲线的属性。例如可以设置曲线显示格式是点状还是线形,可以选择曲线粗细程度和颜色等。 设置坐标轴属性;在属性对话框中,的“格式与精度”标签下可以设置各个坐标轴的显示类型、显示精度,位数等。在“标尺”标签下可以设置坐标轴是否为对数显示,是否反转、设置标尺的最大值/最小值、颜色等属性。另外,标尺的一些属性可以在右键快捷菜单中进行设置 4、定制波形图

labview几种图形显示的总结

1.xy图 xy图也叫坐标图,用来绘制多变量函数曲线,如圆或具有可变时基的波形。Xy图可显示任何均匀采样或非均匀采样的点的集合。在xy图中显示多条曲线,只需将多个单条曲线(x,y捆绑数据)通过数组创建函数送给xy图显示即可。其接受的数据不要求水平坐标等间隔分布。如 2.波形图 波形图用于显示测量值为均匀采集的一条或多条曲线。波形

图仅绘制单变量函数,比如y=f(x),并且各点沿x轴均匀分布。可接受多种类型和格式的数据(如数据类型包括数组,簇,波形数据。数据格式包括一维数组,多维数组,簇数组)。 波形图是一个事后显示数据的图形控件,其要显示的数据全部到达后(即先将数据存放到一个数组中),一次性送给波形图显示。 1》波形图接受包含初值,步长、数据数组的簇。波形图的数据类型如果是簇,则簇的元素必须按照起始点,步长,波形数组数据的顺序排放,否则波波形图不能 接受其数据,因为其数据类型不匹 配。如下图所示: 2》数组数据在波形图中显示

注:波形图接收数组数据时,其默认起始点为0,步长为1,因此这两图都是显示一个周期的正弦波,但最终坐标值不一样,接受簇数组的为0+2*128=256,接收波形数组数据时为0+1*128=128。 3》簇数组数据类型在波形图中的显示(通过创建数组函数) 4.波形图标 波形图标显示一条或条曲线的特殊波形显示控件,一般用来显示以恒定采样率采集得到的数据。

与波形图不同的是,波形图标并不是一次性接收所有需要显示的数据,而是逐点地接受数据并逐点的显示数据,保留上一次数据的同时显示当前接受的数据。显示数据的范围取决于设置的缓冲区的大小,当超过其大小时,便舍弃最早的数据,相当于一个队列,遵循先进先出的原则。 设置缓冲区的大小,可在波形图标上右击后选项“图标历史长度“设置。其最大容量是1024个数据点。 波形图标的波形点数超过图形界面时,波形图标有三种刷新模式:带状图标、示波器图标和扫描图。 波形图标接受的数据类型和波形图相同,而显示相同波形时,二者接受的数据格式不一样。

(完整版)LabVIEW图像处理

10.2 利用LabVIEW进行图像采集与处理 利用LabVIEW进行图像处理是一个非常重要的应用。在许多行业中采用图像的采集和识别来进行判断、控制,使操作更加精确,具有可信度、人性化、智能化。本节将讲解利用LabVIEW进行图像采集和处理的实例。 10.2.1 图像处理介绍 图像处理也可以称作视觉处理。LabVIEW提供了多种图像处理的方法。其中NI 公司的视觉采集软件提供的驱动和函数,既能够从数千种连接到 NI 帧接收器上的不同相机上采集图像,也能够从连接在PC、PXI系统或笔记本计算机上标准端口的IEEE 1394和千兆位以太网视觉相机采集图像。 LabVIEW中的视觉开发模块作为强大的机器视觉处理库,配有各类函数,其中包括:边缘检测、颗粒分析、光学字符识别和验证、一维和二维代码支持、几何与模式匹配、颜色工具。该模块可与NI公司的所有软件、C++、Microsoft Visua l Basic、Microsoft .NET 相互调用,为用户提供了相当便利的操作。用户可通过视觉开发模块的同步功能,实现与运动或数据采集测量的同步。 NI公司提供的图像处理软件包Vision 8.5.1 Acquisition Software ,是专门为LabVIEW 8.5服务的。它可以在LabVIEW 8.5中完成各种关于图像处理、视觉运行的控制。 10.2.2 实例内容说明 本实例主要完成通过USB摄像头采集图像,并经过一些运算对图像进行数据分析。在实例中用采集到的图片作样本,让系统认识一个像素,然后开始自动查找图像中的相同像素,查找时还要对图片进行翻转,以全面找到相同的像素,最后再标注出这些点的中心位置和点数。 10.2.3 Vision安装与介绍 本例主要通过Vision 8.5.1 Acquisition Software软件包来实现。Vision 8. 5.1 Acquisition Software软件包是一种专门的图像处理软件,需要单独安装。此软件一般可以通过供应商购买,也可以通过NI公司网站下载。 1.Vision安装 Vision 8.5.1 Acquisition Software安装步骤如下: (1)把光盘放入计算机光驱,系统会自动识别,并显示出安装自检界面,如图10-34所示。

labview波形图与波形图表的区别

labview中波形图和波形图标到底有什么区别2009-09-06 17:33先说明一下,不知道你在补充问题中说的公式模型发生器是什么函数, 主要要看它的输出数据类型。 波形图和波形图表支持以下数据类型。 LabVIEW使用波形图和图表显示具有恒定速率的数据。 波形图用于显示测量值为均匀采集的一条或多条曲线。波形图仅绘制单值函数,即在y = f(x)中,各点沿x轴均匀分布。例如一个随时间变化的波形。 波形图可显示包含任意个数据点的曲线。波形图接收多种数据类型,从而最大程度地降低了数据在显示为图形前进行类型转换的工作量。 注:数字波形图用于显示数字数据。 在波形图中显示单条曲线 波形图接收多种数据类型以显示单条曲线。对于一个数值数组,其中每个数据被视为图形中的点,从x = 0开始以1为增量递增x索引。波形图接受包含初始x值、△x及y数据数组的簇。波形图也接收波形数据类型,该类型包含了波形的数据、起始时间和时间间隔(△t)。 波形图还接收动态数据类型,用于Express VI。动态数据类型除包括对应于信号的数据外,还包括信号信息的各种属性,如信号名称、数据采集日期和时间等。属性指定了信号在波形图中的显示方式。当动态数据类型中包含单个数值时,波形图将绘制该数值,同时自动将图例及x标尺的时间标识进行格式化。当动态数据类型包含单个通道时,波形图将绘制整个波形,同时对图例及x标尺的时间标识自动进行格式化。 在波形图中显示多条曲线 波形图接收多种数据类型以显示多条曲线。波形图接收二维数值数组,数组中的一行即一条曲线。波形图将数组中的数据视为图形上的点,从x = 0开始以1为增量递增x索引。将一个二维数组数据类型连接到波形图上,右键单击波形图并从快捷菜单中选择转置数组,则数组中的每一列便作为一条曲线显示。多曲线波形图尤其适用于DAQ设备的多通道数据采集。DAQ设备以二维数组的形式返回数据,数组中的一列即代表一路通道的数据。 波形图还接收包含了初始x值、△x和y二维数组的簇。波形图将y数据作为图形上的点,从x初始值开始以△x为增量递增x索引。该数据类型适用于显示以相同速率采样的多个信号。 波形图接收包含簇的曲线数组。每个簇包含一个包含y数据的一维数组。内部数组描述了曲线上的各点,外部数组的每个簇对应一条曲线。以下前面板显示了这样的y簇的数组。 如每条曲线所含的元素个数都不同,应使用曲线数组而不要使用二维数组。例如,从几个通道采集数据且每个通道的采集时间都不同时,应使用曲线数组而不是二维数组,因为二维数组每一行中元素的个数必须相同。簇数组内部数组的元素个数可各不相同。 波形图接收一个包含初始值x、△x和簇数组的簇。每个簇包含一个包含y数据的一维数组。捆绑函数可将数组捆绑到簇中,或用创建数组函数将簇嵌入数组。创建簇数组函数可创建一个包含指定输入内容的簇数组。关于接收该数据类型的图形范例见

基于LabVIEW的图像反色处理系统

. . .. . . 目录 0.前言 (1) 1. 总体方案设计 (2) 1.1 图像反色原理 (2) 1.2 程序流程图 (2) 2.模块的设计 (3) 2.1 各模块的设计原理 (3) 2.1.1 图像读入模块的设计 (3) 2.1.2图像处理模块设计 (3) 2.1.3图像存储模块的设计 (4) 2.2图像显示及处理面板设计 (4) 2.2.1 前面板的设计 (4) 2.2.2流程图设计 (5) 3. 调试及结果分析 (5) 3.1 运行检验 (5) 3.2 调试分析 (7) 4. 结论及进一步设想 (8) 参考文献 (8) 课设体会 (9) 附录基于LabVIEW的图像反色处理系统 (10) .. .专

基于LabVIEW的图像反色处理系统 摘要:本论文阐述的是基于LabVIEW的图像反色处理系统的设计方法。反色又叫补色,红的补色是绿色,蓝的补色是橙色,黄的补色是紫色,由这三种对比关系可引出很多对比的反色。对于彩色图像的R、G、B各彩色分量取反的技术就是图像的反色处理,这在处理二值化图像的连通区域选取的时候非常重要。如物体连通域用黑色表示,而二值化后的物体连通域图像可那是白色的,而背景是黑色的,这时应手动选取图像的反色处理或有程序根据背景和物体连通域两种颜色的数量所占比例而自动选择是否选择选取图像的反色处理。本文主要分三个部分介绍,即图像的导入、反色处理,存储并显示图像的像素、深度等参数。 关键字:图像导入;反色处理;显示存储; 0.前言 LabVIEW是一种图形化的编程语言和开发环境,是一个功能强大并且灵活的软件,利用它可以方便的建立自己的虚拟仪器。使用这种语言编程时,基本上不需要编写程序代码,而是“绘制”程序流程图。LabVIEW尽可能利用工程技术人员熟悉的术语、图标和概念,因而它是一种面向最终用户的开发工具,可以增强工程人员构建自己的科学和工程系统的能力,可以为实现仪器编程和数据采集等系统提供便捷途径。 以LabVIEW为代表的图形化语言,有称为“G”语言。它能够以其直观简便的编程方式、众多的源码级的设备驱动程序、多种多样的分析和表达功能支持,为用户快捷地构筑自己在实际生产中所需要的仪器系统创造了基础条件,是一种通用的编程系统,具有各种各样、功能强大的函数库,包括数据采集、GPIB、串行仪器控制、数据分析、数据显示及数据存储,甚至还有目前十分热门的网络功能。LabVIEW也有完善的仿真、调试工具,如设置断点、单步等。LabVIEW的动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,比其它语言的开发环境更方便、更有效。此外利用LabVIEW,可产生独立运行的可执行

相关文档
最新文档