文档视界 最新最全的文档下载
当前位置:文档视界 › labview图像分割

labview图像分割

labview图像分割
labview图像分割

基于LabVIEW的图像分割程序设计

[摘要] 现在图像处理技术已经应用于多个领域当中,其中,纸币识别,车牌识别,文字识别和指纹识别已为大家所熟悉。图像分割是一种重要的图像技术,它不仅得到了人们的广泛重视和研究,也在实际中得到了大量的应用。

它是处理图像的基本问题之一,是图像处理图像分析的关键步骤。图像识别的基础是图像分割,其作用是把反映物体真实情况的,占据不同区域的,具有不同性质的目标区分开来,并形成数字特性。关于图像分割的方法已有上千种,本文将介绍几种主流的方法,并分析各自的特性,利用LabVIEW 平台实现两种阈值方法分割图像,展现实验现象,比较两种方法的处理结果。

[关键词]图像分割阈值法大津法双峰法LabVIEW

The programdesigning of imagesegmentation based on LabVIEW

[Abstract]Image processing technology hasbeenused in many fields, the banknote recognition, license plate recognition, character recognitionandfingerprint recognitionhas beenfamiliar to everyone.Image segmentation is an importantimagetechnology,people not only attach importance to it and research it,but also use it in many place. It isoneofthebasic problemsoftheimage processing, and it isa key stepoftheimage processingimage analysis. The image recognitionbased onimage segmentation, the function of which is making a distinction between the area of object's real situation,the area in different places and the area with different characteristic and forming a digital characteristic. There are thousands ofmethodsofimage segmentation, this article will introduce severalmainstreammethod,andanalyze their respectivecharacteristics,use this two ways to make image segmentation with LabVIEW,and show the phenomenon of experiment,campare the treatment result of the two methods.

[Keyword] Image segmentationThresholdOTSUbimodaLabVIEW

引言 (1)

1 图像分割论述 (2)

1.1 图像分割的定义 (2)

1.2 图像分割方法综述 (3)

1.2.1 边缘检测法 (3)

1.2.2 阈值分割法 (5)

1.2.3 基于区域的分割 (5)

2 图像阈值分割算法 (6)

2.1 阈值分割算法简述 (6)

2.2 全局阈值算法 (7)

2.3 自适应阈值算法 (9)

2.4 最小误差阈值 (10)

2.5 最大类间方差算法 (10)

3 图像分割实验结果及实现平台介绍 (11)

3.1 LabVIEW简述 (11)

3.2 LabVIEW的应用 (12)

3.3 VI设计 (14)

3.3.1 双峰法选取阈值 (15)

3.3.2大津法选取阈值 (16)

3.4实验结果比较总结 (17)

结论 (20)

致谢 (21)

[参考文献] (22)

图像技术在广义上是各种与图像有关技术的总称。图像技术种类很多,跨度很大,但可以将它们归在一个整体框架—图像工程之下。图像工程是一个对整个图像领域进行研究应用的新学科,它的内容非常丰富,根据抽象程度和研究方法的不同可以分为3个各种特点的层次:图像处理,图像分析和图像理解。

在一幅图像中,人们往往只对其中的某些目标感兴趣,这些目标通常占据一定的区域,并且在某些特性(如灰度、轮廓、颜色和纹理等)上和周围的图像有差别。图像识别的基础是图像分割,其作用是把反映物体真实情况的,占据不同区域的,具有不同特性的目标区分开来,并形成数字特性。图像分割是图像识别和图像理解的基本前提步骤,图像分割质量的好坏直接影响后续图像处理的效果,甚至决定其成败,因此,图像分割的作用是至关重要的。

虚拟仪器技术是基于计算机的仪器及测量技术。与传统仪器技术不同,虚拟仪器技术指在包含数据采集设备的通用计算机平台上,根据需求可以高效率地构建起形形色色的测量系统。对大多数用户而言,主要的工作变成了软件设计。虚拟仪器技术突破了传统仪器的局限,可以将许多信号处理的方法方便地应用于测量中,并且为自动测量和网络化测量创造条件。早期的虚拟仪器技术主要用于军事、航空、航天等领域和科研院所,现在已经越来越多地出现在工厂及其他民用场合。LabVIEW则是美国国家仪器公司(National Instruments)所提供的虚拟仪器开发平台。与大多数程序语言不同,LabVIEW是一个图形化的编程环境,编程的过程不是写代码,而是“流程图”。LabVIEW的使用者是各个领域的工程技术人员,而非计算机专业人员。LabVIEW将使用者从烦琐的程序设计中解放出来,而将注意力集中在测量等物理问题本身。

LabVIEW除了在工业领域作为测量仪器外,还拥有强大的图像处理功能,它可以外挂专有的“图像处理包”,或者调用Matlab来实现图像处理的功能,但前者需要单独购买,且不方便修改,后者则需要安装Matlab,而直接通过LabVIEW 设计VI实现则方面修改。本课题将介绍主要几种图像分割的方法,仔细研究其中两种阈值分割的算法,通过直接设计VI来实现阈值图像分割的功能,令LabVIEW也能够进行一些图像处理的任务,使得LabVIEW更加强大。

1 图像分割论述

1.1 图像分割的定义

图像分割是指将一幅图像分解为若干互不交叠的,有意义的,具有相同性质的区域。好的图像分割应具备以下特征:

(1) 分割出来的各区域对某种特性(如灰度和纹理)而言具有相似性,区域内

部是连通的且没有过多小孔。

(2) 相邻区域对分割所依据的性质有明显的性质。

(3) 区域边界是明确的。

大多数图像分割方法只是部分满足上述特征。如果强调分割区域的同性质约束,则分割区域很容易产生大量小孔和不规整边缘;若强调不同区域间性质差异的显著性,则容易造成不同区域的合并。具体处理时,不同的图像分割方法总是在各种约束条件之间寻找一种合理的平衡。

图像分割更形式化的定义如下:

假设一幅图像中所有像素的集合为F ,有关一致性的假设为P(·)。把F 划分为n 个满足下述4项条件的子集{S1,S2,…,Sn}(Si 是连通区域)的过程定义为图像分割:

(1)F S i == n

1j ,分割是完全的,图像中的每一像素必须归属于一个区域。

(2)?=j i S S ,j i ≠,分割出的不同区域是不相交的。

(3)P(Si)=true ,?j ,分割出的每个区域的像素具有一致的特性。

(4)P(j i S S )=false ,j i ≠,分割出的不同区域的像素不具有一致的特性。

[1]

实际的图像处理和分析都是面向某种应用的,所以上述条件中的各种关系也要视具体情况而定。目前,还没有一种通用的方法可以很好地兼顾这些约束条件,也没有一种通用的方法可以完成不同的图像分割任务。原因在于实际的图像是千差万别的,还有一个重要原因在于图像数据的下降,包括图像在获取和传输过程引入的各种噪声以及光照不均匀等因素。到目前为止,对图像分割的好坏和评价

还有统一的标准。因此,图像分割是图像分析和计算机视觉中的经典难题。至今,提出的分割算法已有上千种,每年还有不少新算法出现。这些算法的实现方式各不相同,然而大都基于图像在像素级的两个性质:不连续性和相似性。属于统一目标的额区域一般具有相似性,而不同的区域在边界出现不连续性。

1.2 图像分割方法综述

图像分割是把图像分割成若干个特定的、具有独特性质的区域并提取出感兴趣目标的技术和过程,这些特性可以是像素的灰度、颜色、纹理等,提取的目标可以是对应的单个区域,也可以是对应的多个区域。人们在多年的研究中积累了很多图像分割的方法。但亦今为止,仍然没有一种图像算法适合所有的图像,也没有一种图像可以用所有方法来分割。近几年来,研究人员不断改进原有方法并将其它学科的新理论和新方法引入图像分割,提出了不少新的分割方法。典型的图像分割方法有阈值法,边缘检测法,区域法。

分析各种图像分割方法可以发现,它们分割图像的基本依据和条件有以下4方面:

(l)分割的图像区域应具有同质性,如灰度级别相近、纹理相似等;

(2)区域内部平整,不存在很小的小空洞;

(3)相邻区域之间对选定的某种同质判据而言,应存在显著差异性;

(4)每个分割区域边界应具有齐整性和空间位置的准确性。

现有的大多数图像分割方法只是部分满足上述判据。如果加强分割区域的同性质约束,分割区域很容易产生大量小空洞和不规整边缘:若强调不同区域间性质差异的显著性,则极易造成非同质区域的合并和有意义的边界丢失。不同的图像分割方法总有在各种约束条件之间找到适当的平衡点。[2]

1.2.1 边缘检测法

边缘检测技术对于处理数学图像非常重要,因为边缘是所要提取目标和背景的边界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致,而不同区域内部的特征或属性是不同的,边缘的检测正是利用物体和背景在

某种图像特性上的差异来实现的,这些差异包括灰度,颜色和纹理特征。边缘检测实际上就是检测图像特性发生变化的位置。

由于噪声和模糊的存在,检测到的边缘可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。

边缘检测技术可以按照处理的技术分为串行边缘检测和并行边缘检测。所谓串行边缘检测技术,是指要想确定当前像素点是否属于欲检测边缘上的一点,取决于先前像素的验证结果;而在并行边缘检测技术中,一个像素点是否属于检测边缘上的一点,取决于当前正在检测的像素点以及该像素点的一些相邻像素点,这样该模型可以同时用于图像中的所有像素点,因而称之为并行边缘检测技术。

最简单的边缘检测方法是边缘检测算子,它利用相邻区域的像素值不连续的性质,采用一阶或二阶导数来检测边缘点。近年来还提出了基于曲面拟合的方法,基于边界曲线拟合的方法。下面分别简单介绍一下这些方法。

1.边缘检测算子

边缘检测算子对图像中灰度的变化进行检测,通过求一阶导数极值点或二阶导数过零点来检测边缘。常用的一阶导数算子有梯度算子,Prewitt算子和Sobel 算子,二阶导数算子有Laplacian算子,还有Kirsch算子和Wallis算子等非线性算子。梯度算子不仅对边缘信息敏感,而且对像素点也很敏感。

2.基于曲面拟合的方法

基于曲面拟合的方法的基本思想是将灰度看成高度,用一个曲面来拟合一个小窗口内的数据,然后根据该曲面来决定边缘点。

基于边界曲线拟合的方法用平面曲线来表示不同区域之间的图像边界线,试图根据图像梯度等信息找出能正确表示边界的曲线从而得到图像分割的目的,而且由于它直接给出的是边界曲线而不像一般的方法找出的是离线的,不相关的边缘点,因而对图像分割的后继处理,如物体识别等高层处理有很大的帮助。即使是用一般的方法找出的边缘点,用曲线来描述它们以便于高层处理也是经常被采纳的一种有效的方式。[3]

1.2.2 阈值分割法

阈值分割法是一种简单有效的图像分割方法,其基本思想就是用一个或多

个阈值将图像的灰度级分成几部分,灰度值在同一类的像素属于同一目标。阈

值分割法的结果在很大程度上依赖于阈值的选择,因此该方法的关键就是如何

选择合适的阈值。

直方图阈值分割对物体与背景有较强对比的背景分割特别有用,这种方法计算简单,而且总能用封闭而且连通的边界定义不交叠的区域。使用阈值规则进行图像分割时,所有灰度值不小于(或相反)某阈值的像素都被判属于目标物体。所有灰度值小于(或相反)该阈值的像素被排除在物体之外,属于背景。于是,边界就成为在物体中和背景有邻域关系这样一些内部点的集合。

如果感兴趣的物体在其内部具有均匀一致的灰度值,并分布在具有另一灰度值的均匀背景上,使用全局阈值方法效果就很好。如果物体同背景的差别在图像中存在区域变化,那么可以采用自适应阈值的方法,使得用于划分的阈值随着物体和背景差别的变化而变化,尽量保持清楚的划分。还可以用概率统计,类间方差等优化方法对更为复杂的情况进行分割。下一章节将会对阈值分割法进行详细的论述。

1.2.3 基于区域的分割

基于区域的图像分割是根据图像灰度、纹理、颜色和图像像素统计的均匀性等图像的空间局部特征,把图像中的像素划归到各个物体或区域中,进而将图像分割成若干个不同区域的一种分割方法。基于区域的分割方法主要有区域生长法、分裂合并法。

区域生长法、分裂合并法:

区域生长法的基本思想是根据一定的相似性准则,将图像中满足相似性准则的像素或子区域合成更大的区域;分裂合并法是从整个图像出发,根据图像和各区域的不均匀性,把图像或区域分割成新的子区域,根据毗邻区域的均匀性,把毗邻的子区域合并成新的较大的区域。这两种方法通常相结合,以便把相似的子区域合并成尽可能大的区域。区域生长的固有缺点是分割效果依赖于种子的选择及生长顺序,区域分裂技术的缺点是可能破坏边界,所以它们常常与其他方法相结

合,以期取得更好的分割效果。

区域生长算法的研究重点:(l)特征度量和区域增长规则的设计;(2)算法的高效性和准确性。区域生长方式的优点是计算简单。与闭值分割类似,区域增长也很少单独使用,往往是与其它分割方法一起使用。

区域生长的缺点是:(l)它需要人工交互以获得种子点,这样使用者必须在每个需要抽取出的区域中植入一个种子点;(2)区域增长方式也对噪声敏感,导致抽取出的区域有空洞或者在局部体效应的情况下将分开的区域连接起来。

在区域合并方法中,输入图像往往分为多个相似的区域,然后类似的相邻区域根据某种判断准则迭代进行合并。在区域分裂技术中,整个图像先被看成一个区域,然后区域不断被分裂为四个矩形区域,直到每个区域内部都是相似的,分裂合并方法中,区域先从整幅图像开始分裂,然后将相邻的区域进行合并。分裂合并方法不需要预先指定种子点,它的研究重点是分裂和合并规则的设计。但是,分裂合并技术可能会使分割区域的边界破坏。和阈值法一样,区域生长法一般不单独使用, 而是放在一系列处理过程中。它主要的缺陷是, 每一个需要提取的区域都必须人工给出一个种子点, 这样有多个区域就必须给出相应的种子个数。此法对噪声也很敏感, 会造成孔状甚至是根本不连续的区域, 相反的, 局部且大量的影响还会使本来分开的区域连接起来。[4]

2 图像阈值分割算法

2.1 阈值分割算法简述

在许多图像处理技术中,属于目标的像素点的灰度值和属于背景的像素点的灰度值有明显的差别,对于这种情况阈值分割算法就是一种简单高效的从背景中提取目标的的方法。阈值法作为这样一种实现简单、计算量小、性能较稳定的图像分割算法,被应用在很多领域。例如在文本图像分析中,提取文字信息、场景处理中检测目标、产品的质量检测、细胞图像分割、无损检测等等。

阈值分割法是一种基于区域的图像分割技术,其基本原理是:通过设定不同的特征阈值,把图像像素点分为若干类。图像阈值化的目的就是按照灰度级,对像素集合进行划分,得到的子集形成一个与现实景物相对应的区域,各个区域的

内部具有一致的属性,可以通过一个或多个阈值实现。阈值分割法的关键就是如何找到合适的阈值。设原始图像为f (x ,y ),首先以一定准则在f (x ,y )中找出一个灰度值t 作为阈值,将图像分割为两部分,即把大于等于该阈值的像素点的值设置成l ,小于该阈值的像素点的值设置成0。阈值运算后的图像为二值图像g (x ,y )如下式表示

g x,y = 0,f (x ,y )

(2-1) 阈值分割的优点是实现简单,当不同类的物体灰度值或者其它特征值相差很大时,它能有效地对图像进行分割。缺点是对于图像中不存在明显灰度差异或灰度值范围有较大重叠的图像分割问题难以得到准确的结果,由于它只是考虑了图像的灰度信息而不考虑图像的空间信息,对噪音和灰度不均匀很敏感,经常和其它的方法结合起来用。[5]

阈值分割法也被分为了好几种方法,主要有全局阈值算法,自适应阈值算法,统计最优阈值算法,最大类间方差算法,下面将对这几种方法做简单的介绍。

2.2 全局阈值算法

全局阈值图像分割的基本原理就是在一幅图像中选取一个或多个处于图像

灰度取值范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值进行比较,并根据比较的结果将图像中的对应像素分成两类或多类,从而把图像划分为互不交叉重叠区域的重合,达到图像分割的目的。

基于阈值的图像分割中经常采用这样一种假设:目标或背景内的相邻像素间的灰度值是相似的,但不同目标或背景的像素在灰度上存在差异。设原始图像为f (x ,y ),按照一定准则在f (x ,y )中找到某一个灰度值,该灰度值便是进行分割时的阈值T ,将图像分割为两个部分,分割后的图像为

g x,y = 0,f (x ,y )

(2-2) 如取0b =0(黑),1b =255(白),即为通常所说的图像二值化分割。对于比较简单的图像,物体和背景本身的灰度较均匀,而且两者之间的灰度差别较大,因此比较容易分割清楚。对于一般的图像,情况比较复杂,阈值化图像分割通常存在两方面的困难:一个是在图像分割之前,难以确定图像分割区域的数目,或者

说要把图像分割成几个部分;另一个是阈值的确定,因为阈值选择的准确性直接影响分割的精度及图像描述分析的正确性。如对于只有暗背景和亮目标两类对象的灰度图像来说,阈值选取过高,容易把大量的目标误判为背景;阈值过低,又容易把大量的背景误判为目标。为此,下面介绍两种简单的全局阈值的选择方法。

“峰—谷”法选取阈值,这是一种利用图像直方图特性来确定灰度阈值的方法,如果图像所含的目标区域和背景区域大小可比,而且目标区域和背景区域在灰度上有明显的区别,那么该图像的直方图会呈现“双峰”和“一谷”状:其中一个峰值对应于目标的中心灰度,另一个峰值对应于背景的中心灰度。也就是说,理想图像的直方图,目标和背景对应不同的峰值,选取位于两个峰值之间的谷值作为阈值,就很容易将目标和背景分开,从而得到分割后的图像。

如图2.1所示,对于还有细胞的医学图像,细胞的灰度通常比背景的灰度低得多,见图2.2;根据经验可以明显地看出直方图具有两个峰值,则谷值被认为是分割的阈值,见图2.2;由此阈值划分后得到的结果图像如3.3所示,可以将原图像中的目标(细胞)基本分割出来。

(a) 原始图像 (b) 分割后的图像

(c) 原始图像直方图

图2.1 双峰法阈值分割

峰-谷阈值分割的优点是实现简单,对于不同类别的物体灰度值相差较大时,

它能有效地对图像进行分割。但对于图像中不存在明显灰度峰谷,或目标和背景的灰度值范围有较大重叠的图像,这种分割方法难以获得较好的结果,而且谷值的选取对噪声和灰度的不均匀很敏感。所以,在实际中常常加以其他方法协助进行谷值的选取,如下述的微分方法。

在较简单的情况下,如果将直方图的包络看成一条曲线,则选取直方图阈值(谷值)可采用求极小值的方法。设用h(x)表示图像直方图,x为图像灰度变量就,那么极小值应满足下式

?h(x)

?x =0和?h2(x)

?x2

0。(2-3)

与这些极小值点对应的灰度值就可以用作图像分割阈值。由于实际图像受噪声的影响,其直方图经常出现很多起伏,使得公式(2.3)计算出来的极小值点有可能并非是正确的图像分割阈值,而是对应虚假的谷值。一种有效的解决方法是先对直方图进行平滑处理,如用高斯函数g(x,σ)和直方图函数进行卷积运算得到相对平滑直方图,然后再用(2.3)式求得阈值。

2.3 自适应阈值算法

在许多情况下,图像背景的灰度值并不是常数,物体和背景的对比度在图像中也有变化。例如,在光亮背景中的暗物体,由于光照不均匀,虽然物体与背景始终有反差,但在图像的某一部分能把物体和背景准确区分出的阈值,对另一部分来说,可能把太多的背景也作为物体分割下来了。在这种情况下,可以采用自适应阈值分割方法,把灰度阈值取成一个随图像中位置缓缓慢变化的函数,保持一种局部的,相对的背景和物体之间的差异。

实现自适应阈值分割的方法有多种,其中常用的是一种子图像分割法。这种方法首先将图像细分为若干个子图像,计算每个子图像的直方图,方差;而后,对不同的子图像使用单独的阈值进行分割处理,对那些直方图为单峰或方差值较小的图像,只需判断它到底属于哪一类,对于那些双峰或方差较大的子图像,需要选择一个适当的阈值进行划分,简单的选择方法为两个峰值之间的谷值。最后,将各个分割后的子图像拼合成一个完整分割图像。显然,各个子图像的阈值只不相同的,随着图像的部位而自适应变化的,需要解决的关键问题是如何将图像进行细分和如何确定子图像的阈值。

2.4 最小误差阈值

这是一种利用统计判决确定阈值方法,使得目标和背景被误分割的概率达到最小的阈值分割方法。因为在实际图像分割中,总有可能存在把背景误分为目标区域,或者把目标误分为背景区域。如何使得上述误分割出现的概率最小,便是一种统计最优阈值分割方法。

图2.2 最小阈值误差概率

E b (T)是目标类错分到背景类的概率, E 0(T)是背景类错分到目标类的概率,总的概率误差E(T)= E b (T)+E 0(T),使得E(T)最小,即为最优分类方法。

在最小误差法中,直方图被视为目标与背景混合集概率密度p(i)的估计: p i = p j p(i|j)l j=0 i =0,1,…l ?1;j =0,1. (2-4)

其中p (j )为先验概率,p i j ~N(μJ ,σJ 2),求解下列方程可得到最小误差阈值:

(i ?σ0)2

σ02+ln σ02?2lnp 0=(i ?μ1)2

σ12+ln σ12?2lnp 1. (2-5)

2.5 最大类间方差算法

在不知道图像分布的情况下,还可以采用模式识别中最大类间方差准则确定分割的最佳门限。其基本思想是对像素进行划分,通过使划分得到的各类之间的距离达到最大,来确定合适的门限。

这种算法是由Otsu 于1978年首先提出的一种比较典型的图像分割算法,也称为Otsu 分割法或大津阈值分割法。从模式识别的角度看,最佳阈值应当产生最佳的目标类与背景类的分离性能,此性能用类间方差来表征,最大类间方法可以描述如下:

设图像的灰度级为0~K-1,每个灰度级的概率为Pi ,若某一个阈值T 将图像

各像素按灰度分成两类C0和C1,C0类包含灰度级为[0,1,…,z]的像素,其概率和,灰度均值分别为

ω0= Pi z i=0, μ0=1

ω0 ixPi z i=0 (2-6) C1类包含灰度级[z+1,z+2,…,K-1]的像素,其概率和,灰度均值分别为

ω1= Pi K ?1i=z+1, μ1=1

ω1 ixPi K ?1i=z+1(2-7) 图像的总平均灰度为

μ=ω0μ0+ω1μ1 (2-8)则定义类间方差为

σ2=[ω0 X μ0?μ 2+ω1 X (μ1?μ)2](2-9) 从最小灰度值0到最大灰度值K-1,遍历所有灰度值,使得式(3.9)中σ最大时的灰度z 即为分割的最佳阈值T 。因为方差是灰度分布均匀性的一种度量,方差越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。

在实际应用中,直接应用式(2-9)计算量太大,因此一般在实现时采用等价式(2-10),则最佳阈值T 为使得式(2-10)为最小时的z ,即

Max[ω0ω1(μ0-μ1)] (2-10)[6]

3 图像分割实验结果及实现平台介绍

3.1 LabVIEW 简述

LabVIEW 是美国国家仪器公司开发的基于图形编译语言的实验室虚拟仪器集成环境, 把复杂、烦琐、费时的语言编程简化成用菜单或图标提示的方法选择功能(图形),并用线条把各种功能(图形)连接起来的简单图形编程方式。

LabVIEW 本身是一种功能比较完善的软件开发环境,它可替代常规的BASIC,C 语言编程,可以编写应用程序。LabVIEW 具有如下特点:

1)它提供了“所见即所得”的可视化图形编程技术建立人机界面,提供了大量的仪器面板中的控制对象,如按钮、开关、指示器、图表等;

2)它使用图标表示功能模块,连线表示模块间的数据传递,并且用线型和颜色区别数据类型,用数据流程图式的语言书写程序代码,这样使得编程过程与人

的思维过程非常接近;

3)它提供了程序调试的功能,可以在源代码中设置断点,单步执行源代码,可在连线上设置探针,观察程序执行过程的数据流变化,大大简化了调试工作量;

4)它采用了编译方式运行32位应用程序,使得它的执行速度可与VC等开发程序相媲美。

因此,即使没有丰富的编程经验也能很容易利用LabVIEW进行程序设计,在其平台上完成各种功能。 [7]

3.2 LabVIEW的应用

1.应用于生产检测

LabVIEW已经成为用于测试测量领域的工业标准化开发工具。LabVIEW结合NITestStand测试执行环境和该领域中最大的仪器驱动程序库,为整个系统建立稳固完整的检测管理平台。

2.应用于研究与分析

运用LabVIEW,可在汽车、能源研究和其它众多工业领域的应用系统中进行实时数据的分析和计算; 对于要求声音、振动、图像处理、时频分析、小波和数字滤波的应用系统,LabVIEW特别提供各种附加工具包以加速系统开发。

3.应用于过程控制和工厂自动化

可利用LabVIEW来建立众多的过程控制和工业自动化应用系统。在LabVIEW

平台下,可以实现高速、多通道的测量和控制。对于大型复杂的工业自动化和控制系统,有专门的LabVIEW数据记录和监控模块,用于监控多通道I /O、与工业控制器和网络进行通信,以及提供基于PC 机的控制。

4. 应用于机器监控

对于要求有实时控制、振动分析、视觉和图像分析或运动控制的机器监视和预先维护的应用系统,LabVIEW是理想的选择。LabVIEW系列产品,包括用于可靠、确定性控制的实时LabVIEW( LabVIEW RT) 软件,就可以快速、准确地建立起功能强大的机器监视和自动控制应用程序。[8]

在这么多的应用当中,LabVIEW作为机器视觉与图像处理系统发挥了巨大的作用。这几年,激光仪器视觉系统已经被广泛研究和开发在不同的制造工艺。激

光仪器视觉系统的功能可以使制造工序自动化和大大提高质量和生产率,并且使学术界和工业都产生了很大的兴趣。金工业正在使用的焊接工艺,连接两个或更多的含金或非含金部分也急需焊接工艺的质量和生产率。作为焊接工艺的重要事项之一,焊缝追踪对质量和生产力至关重要。首先,焊缝追踪需要满足焊接工艺的完全自动化。基于LabVIEW的激光仪器视觉系统作为焊缝追踪脱颖而出,同时也解决了传统模式低效率、低适应力的缺点。[9]

用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术。因此,在现代自动化生产过程中,人们将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。机器视觉技术是一门包含诸多科学领域的综合技术,它不仅涉及到人工智能、光电学、物理学、计算机科学,而且还与图像处理、模式识别等学科息息相关。

在国外,机器视觉的应用普及主要体现在半导体及电子行业,其中大概40%-50%都集中在半导体行业。具体如PCB印刷电路:各类生产印刷电路板组装技术、设备;单、双面、多层线路板,覆铜板及所需的材料及辅料;辅助设施以及耗材、油墨、药水药剂、配件;电子封装技术与设备;丝网印刷设备及丝网周边材料等。SMT表面贴装:SMT工艺与设备、焊接设备、测试仪器、返修设备及各种辅助工具及配件、SMT材料、贴片剂、胶粘剂、焊剂、焊料及防氧化油、焊膏、清洗剂等;再流焊机、波峰焊机及自动化生产线设备。电子生产加工设备:电子元件制造设备、半导体及集成电路制造设备、元器件成型设备、电子工模具。机器视觉系统还在质量检测的各个方面已经得到了广泛的应用,并且其产品在应用中占据着举足轻重的地位。 [10]

实现LabVIEW的图像处理功能有三种途径,一是外挂VISION模块,也就是视觉模块;二是调用Matlab实现;三是直接设计VI实现功能;三种途径各有优缺点,VISION模块需要另外购买,借助Matlab还需要安装,且不方面修改,但是这两种方法的功能会更强大。如果直接通过LabVIEW平台完成,则方便修改,但是较前两种方法,所能实现的功能有限。

3.3 VI设计

作为实现图像处理的第一步,首先要读取图像,并将其转换为可以处理的数据,如图3.1,

图3.1 图片数据转换程序

首先用while循环判断读取的图像文件是否为BMP文件,如果是,进入分支程序。分支1,首先用绘制平化像素图控件将读取的图像文件显示出来;分支2用还原像素图控件将图像数据转换为二维数组,并计算显示出图像像素点的行数与列数。

灰度使用黑色调表示物体,即用黑色为基准色,用不同的饱和度的黑色来显示图像。每个灰度对象都具有从 0%(白色)到100%(黑色)的亮度值。将图像数据转换为像素点的二维数组后,接下来的步骤就是将图像转换为灰度图像,并绘制出灰度直方图。

图3.2 绘制灰度直方图程序

如图3.2,首先将像素点的RGB三色分解开,再利用公式(3-1)将彩色转为灰度。

Gray = R*0.299 + G*0.587 + B*0.114 (3-1)

(a) 原始图片 (b) 原始图片灰度图

(c) 灰度直方图

图3.3 绘制灰度直方图

将图像转换为灰度图像后,建立一维256个元素的数组,并将其初始化为0。然后调用“替换数组子集”和“索引数组”控件,以图像像素的灰度值为索引,绘制灰度直方图。图3.3为原始图片,原始的图片的灰度图片,以及图像的灰度直方图。

3.3.1 双峰法选取阈值

可以利用双峰法的图像分割的图像,其灰度直方图必须是呈现“双峰”和“一谷”状,如图3.3(c),两个峰值灰度分别对应目标和背景,则两峰之间的谷点就是我们要找的阈值。所以图像必须满足是目标和背景色差比较大,找到阈值后,就可以将图像二值化,灰度值小于阈值的像素点则灰度值取0(黑),灰度值大于阈值的像素点则灰度值取255(白)。但是双峰法必须手动确定阈值。具体程序设计如图3.7所示,

图3.4 灰度直方图

图3.5 图像二值化程序

利用条件结构,根据选取的阈值,将像素点逐一进行二值化,然后将二值化后的像素点重新绘制成图像,就实现了图像的二值化分割。

3.3.2大津法选取阈值

大津法的算法上一章已经介绍过,从模式的识别的角度看,最佳阈值应当产生最佳的目标类与背景类的分离性能,此性能用类间方差来表征。并且阈值选取是自动的。图3.8为大津法选取阈值的程序设计图。下文将综合比较双峰法和大津法。

图3.6 大津法程序设计

3.4实验结果比较总结

从程序设计的角度看,双峰法非常简单,只需观察灰度直方图,然后选取合适的阈值即可,但是阈值必须人工输入;大津法程序设计上会稍微复杂一些,但是阈值是自动产生的,因为对灰度直方图没有太多的要求,所以适用的范围会比双峰法广。以下是具体实验成果。

(a) 原始图的灰度图 (b) 图像的灰度直方图

(c)双峰法分割T=90(d)大津法分割T=104

基于LabVIEW的摄像头视频图像实时采集

基于LabVIEW的摄像头视频图像实时采集 指导老师:李茂奎 小组成员:李化松李雷李成康乐 [摘要] 介绍了USB摄像头视频图像实时采集系统的基本原理及组成。该系统以LABVIEW为核心,通过调用windows平台的OCX控件完成系统的数据采集任务。整个系统结构清晰,构思新颖,具有一定的可操作性。 [关键词] USB摄像头;LabVIEW;视频图像实时采集 一、设计任务 1设计目标 设计一个基于LabVIEW的USB摄像头视频图像实时采集系统 2设计基本要求及发挥 1.能够实时地采集视频,并在电脑上显示出来 2.可以进行录像,拍照 3.美化程序界面,添加同步时间数码管显示功能。 二、方案论证 1.视频采集部分 方案一:采用vb语言编写的ovfw.ocx控件实现视频的实时获取,优点是使用方便,设置简单明了,同步性好,无延迟。缺点是无法实现录像功能。 方案二:采用windows平台的ezvidcap.ocx控件实现视频的实时获取,可以实现录像功能,缺点是设置繁琐,程序复杂。 鉴于此,我们选用了方案二。 https://www.docsj.com/doc/3f12502008.html,BVIEW程序设计 采用usb接口的摄像头读入数据,并在程序中显示出来。利用控件本身的摄像录像功能实现数据的采集存储。 3.界面美化 增加了数码管样式的时间同步显示功能,同时增加了界面透明度可调旋钮,是界面产生玻璃状的美妙效果。 三、总体方案 1.工作原理: 利用现有的摄像头获取图像,通过调用windows平台的ezvidcap.ocx控件实现图像实时显示采集存储。 2.程序设计 LABVIEW从摄像头读入数据,通过空间调用,使图像在程序界面显示,并进行拍照录像等功能。

基于LabVIEW编程语言图像处理技术浅述

现代物业?新建设 2012年第11卷第10期 虚拟仪器(Virtual Instrumentation)以电子计算机和测试模块为基础,是一种利用性能高效的模块化硬件,再结合灵活高效的软件构成的仪器。在计算机显示屏幕上能够虚拟仿真所需仪器的面板和功能,可通过用户软件来定义计算机所完成的所有仪器功能,进而完成各种操作。LabVIEW是美国NI(National Instrument)公司推出的基于G语言(Graphics Language,图形化编程语言)的虚拟仪器软件。LabVIEW的编程方式是通过数据流实现,编程的图标用来表示函数,数据流的流向则用连线表示。LabVIEW强大的图形化编程语言和直观的图形化环境使程序开发更快捷,成为了教学与科研的必备工具,极大地提高了从事院校教学、实验和科学研究的效率。 仿真技术的研究主要运用于仿真工具方面,虚拟仪器技术使用主流计算机技术,并结合了创新、灵活的软件模块,高性能的硬件技术创造了强大的以计算机为基础的仪器解决方法。NI发布了一整套软、硬件工具用于建立测控应用。他们为仿真系统和仿真模型的开发提供了一个良好的基础。LabVIEW提供了多种图像处理的方法。利用LabVIEW软件进行图像的仿真处理并且实现自由化的控制界面显得十分有意义。 1 图像处理技术的需求分析 图像处理(image processing),是指图像经过计算机进行分析,从而达到所需结果。通常说的图像处理一般指的是数字图像处理,而数字图像的定义是指用数字照相机、摄像机、扫描仪等设备得到的图像,该图像经过采样和数字化得到的是一个大的二维数组,此数组的每一个元素称为像素,其值是整数,称之为灰度值。 图像处理技术的主要内容包括图像压缩、描述和识别、增强和复原三个部分。图像复原、图像分割、图像数字化、图像编码、图像增强和图像分析等是常见的处理方式。图像之间进行的变换是图像处理着重强调的关键。人们常用图像处理泛指各式各样的图像技术,狭义的图像处理主要满足对图像进行加工进而改善图像的视觉效果,并且为自动识别打基础,或者是对图像进行压缩以减少所需存储空间或传输通路、传输时间的要求。 对图像中感兴趣的目标进行检测和测量图像分析,从而获得它们的客观信息去建立对图像的描述。图像处理是一个从图像到图像的过程,而图像分析是一个从图像到数据的过程。这里的数据可以是对目标特征测量的结果,也可以是基于测量的符号表示。图像处理的重点是建立在图像分析的基础上,进一步研究图像中各目标的性质和相互联系,得出对图像内容和含义的理解及对原来客观场景的解释,从而规划行动。如果说图像分析主要是以观察者为中心研究客观世界,那么图像理解在一定程度上是以客观世界为中心,借助知识、经验等来把握整个客观世界。 图像处理技术是通过图像处理软件来实现的,常用的图像处理软件十分广泛,Adobe Photoshop是知名度以及使用率最高的图像处理软件。图像处理软件能够快速、高效地将图像按照既定的要求进行处理,也能够得到非常好的效果,但是必须有一定的基础才能使用这些软件,如果不经过学习根本无法进行图像处理。另外一些要求比较高的图像处理是要专业人士才能完成的,所 基于LabVIEW编程语言的图像处理技术浅述 梁硕 赵冉 (河南工业职业技术学院,河南 南阳 473000) 摘 要:利用Labview编程语言,对图像进行处理,实现了简单的图像生成,并且达到了图像亮度和对比度的调整,程序运行正确,可应用于教学中。可见利用LabVIEW进行图像处理是一个非常重要的应用,在许多行业中采用图像的采集和识别来进行判断、控制,使操作更加精确,具有可信度、人性化、智能化的特点。 关键词:LabVIEW;虚拟仪器; 图像处理;前面板设计 中图分类号:TP314 文献标识码:A 文章编号:1671-8089(2012)10-0078-02 [作者简介] 梁硕(1984- ),男,南阳市人,河南工业职业技术 学院电气工程系教师,助教,研究方向:过程控制及自动化技术教学。 赵冉(1986- ),男,南阳市人,河南工业职业技术 学院软件学院教师,研究方向:网络技术教学。 信息技术 I nformation Technology – 78 –

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中使用千兆网相机采集图像1.2

在LabVIEW中使用千兆网相机采集图像版本控制

1目的 本手册主要目的为方便使用者基于LabVIEW开发平台,快速上手使用满足GigE Vision 的相机采集图像,为下一步的图像处理打下基础。本文档用于说明PC机第一次和相机相连的设置。 2硬件 电脑一台:带千兆网卡,一般在网卡名称中会有GBE类型的缩写,网卡支持巨帧(Jumbo Packpet),如下面右图所示。如果想要保证速度,最好使用Intel的千兆网卡。 GigE Vision相机,也称千兆网相机,主要优势为速度快,电缆够长,且能够POE供电。确保相机和电脑之间通过千兆网线相连,之间经过的网线接头、交换机越少越好。相机端最好用带螺丝的网线接头,确保连接在物理上可靠。如果非要接交换机,要考虑背板带宽。 3软件 在电脑上安装有LabVIEW和VDM(Vision Development Module)、VAS(Vision Acquisition Software),一般这三个软件版本需要一致。前者是开发平台,中间是视觉处理模块,后者是相机驱动。

1.关闭windows自带防火墙、360防火墙、杀毒一类软件。 2.打开网卡的巨帧功能。右键我的电脑》管理》设备管理器》网络适配器》选择网卡》右 键》属性》高级》属性》巨型帧/极大帧,更改值为最大,一般为9KB MTU。

3.如果网卡不支持巨帧,可以尝试调小网络包的大小。在Max中,点击相机,在获取属 性中,更改包大小packetsize,可以尝试更改为2000或者1000. 4.使用相机自带的软件先进行测试,去相机供应商的网站下载合适的相机驱动,注意电脑 操作系统的位数,32位下载X86,64位下载64位。 a)这里使用Basler的软件pylon IP Configurator。把相机的IP地址设至为与电脑同一 IP段。即IP地址前三位一样。 b)采集连续图像,在pylon Viewer中,点击一个相机进行连接。 c)方框为连接、断开相机,橙色方框为采集、连续采集、停止按钮 d)如果画面太黑或太白,将紫色方框内的用户等级改成专家(Guru),然后选择相机 属性(Basler acA1300-30gm*****)下面的Acquisition Controls》Exposure Auto,改 成自动,然后连续采集几张照片,就可以将曝光时间调整好。

labview图像处理控件汉化说明

一.LabVIEW机器视觉前面板上的模块有以下几类(如图1所示) 1.IMAQ Image.ctl 2.Image Display control 3.IMAQ Vision controls 4.Machine Vision controls 1 IMAQ Vision controls 对图像进行分析和处理所用到的一些控件,包括图像的类型,图像处理的方式和不同的形态算子以及颜色的类型的选择等等。如图2 图2

1.1Image Type 用于图片类型的选择,可以选择的类别有8bits,16bits,Float,Complex,RGB和HSL。一般用在从文件中读取图片时类型的选择。 1.2ROI Descriptor ROI区域的描述。ROI是Region Of Interesting的简称,中文应该翻译为目标区域。一般用在一个大图中取一块特定形状的区域,以便后续的处理和分析。 ROI为一簇数据,包括一个整数数组和一个簇组成的数组。整数数组内有4个元素,为图形最小外接矩形的四条边的坐标。簇数组中的簇由轮廓类型(整数),ROI类型(整数)和图形坐标点(为数组,根据ROI类型的不同,数组的定义也不同) 1.3Optional Rectangle 选择的矩形区域,为四个元素的数组,代表矩形的四条边的坐标。 1.4Color Mode 色彩模式,彩色图形的显示和处理模式,包括RGB,HSL,HSV,HIS四种。 1.5Threshold Range 阀值范围,为一包含两个数组元素的簇,常用于灰度或色彩图像阀值处理模块中。 1.6Convolution Kernel 二维浮点数组成的数组,用于构造一些算法的算子。 1.7Morphology Operation 形态算法的选择。可以选择不同的数据处理方式。 1.8Structuring Element 结构元素,为二维的整数数组。 2Machine Vision controls 机器视觉中用到的一些控件,只要是对图像画面进行选择的一些工具,包括点,线和面的选择以及坐标系的设定。如图3所示 2.1Point 点的选择,包括两个元素的簇,分别为横坐标和纵坐标。 2.2Line 线的选择,包括四个元素的簇,分别为起点和终点的横坐标和纵坐标。 2.3Rectangle 面的选择,包括五个元素的簇,分别为对角线两点横坐标和纵坐标,以及矩形选择的角度。 2.4Circle

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是相机的一个参考,输出图像数据。

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,把数组放置在前面板中,然后选择一个对象 (例如数值常量)插入到数组框中。这样就创建了一个数值数组。 也可以直接在前面板中创建数组和相应的控制对象,然后将

基于虚拟仪器的图像采集处理及仪器控制

第32卷增刊2006年8月光学技术 O PT I C A L T E C H N I Q U E V01.32Sup pl. A u gust2006 文章编号:1002—1582(2006)S-0422.03 基于虚拟仪器的图像采集处理及仪器控制+ 周秀荣,尚凯文,崔小虹,邢冀川 (北京理工大学光电工程系,北京100081) 摘要:针对激光测距机三光轴平行度调校,提出了由C C D摄像机摄取激光光斑图像,然后用图像采集与处理方法计算白光十字线中心与光斑中心偏差的方法,并对选用的图像处理算法进行了论述。此外,采用可变固定衰减片方法测量激光测距机接收系统的灵敏度。以LabV I E W为软件平台,开发出检测激光光轴中心及控制衰减器的虚拟仪器系统。该系统具有直观形象,使用方便,可移植性强等优点。 关键词:虚拟仪器;L abV l E W;图像采集;数字图像处理;仪器控制 中图分类号:TN911.72文献标识码:A I m age acqui s i t i on and pr ocessi ng a nd i nst r um e nt cont r ol ba se d on vi r t ual i ns t r um ent Z H O U X i u—r ong,S H A N G K ai.w e n,C U I X i ao-hong,X l N G Ji.chua n (D e par t m e nt of O pt o-el ec t r oni c E nge nee r i ng,Bei j i ng I ns t i t ut e of T e chnol ogy,Bei j i ng100081,C hi na) A b st r act:I n or der t O m ea sure t he t hree-l ight.axi s paral l el it y of l as er t e l e m e t er,w e u s e C C D t o get l as er s pot i m a ge a nd t h en cap t ur e and pr o cess t he i m a ge t o cal cu l at e t he pos i ti on er r or bet w e en t he cent er of w hi t e l i ght cr os s l i ne and t hat of t he spot and exp l ai n s el ect ed i m a ge pr oces si ng ar i t hm et i cs.B esi des,di f f er ent at t enu at or s ar e appl i e d t o m ea s u r e t he s en s i t i vit y of re e ei v—el".W e s el e ct LabV l E W as so f t w ar e t O de vel op vi rt ual i nst r um ent s ys t e m s t o gai n t he cent er of l as er axi s and cont r o l t he a t te nu—at o r.T h i s s yst e m i s i ntui t i o ni s ti c a nd conve ni ent t o l i s a and ca n be r eu sed i n di f f er ent appl i cat ions. K e y w or ds:vi r t u al i nst r um ent;LabV I EW;i m age acqui si t i o n;di gi t al i m a ge pr oces si ng;i nst r um en t cont r ol 1激光测距机三轴平行度调校系统整体方案 激光三轴平行度调校系统主要由大口径离轴抛物面反射镜、激光模拟器组件、长焦距C CD摄像机、白光光源组件、衰减器、漫反射靶、电控柜、图像采集及处理分系统、光学平台及二次检校设备等构成,其组成框图如图1所示。 图1激光三轴平行度调校系统组成框图 白光光源发射白光,经析光镜透射后又经离轴抛物面镜反射,进入二次校准设备。二次校准设备主要由五棱镜和经纬仪组成,它可以进行离轴抛物面镜准直性的自检。激光测距机发射系统发射的激光束经衰减器后又经过离轴抛物面镜的反射和析光镜的透射打到白光光源前的毛玻璃或漫反射靶上,形成二次光源,经过离轴抛物面镜反射后成为平行光束,进入C C D摄像机。这样光斑图像就被拍摄下来,送人图像采集与处理分系统进行求取中心及计算偏差的处理。激光模拟器组件用于模拟发射激光的回波。为测量激光测距机接收系统的灵敏度,激光模拟器组件中包含了衰减器。衰减盘放于精密电控旋转台上,由步进电机控制器控制。为方便操作,步进电机控制器、激光模拟器控制装置以及进行图像采集处理与仪器控制的计算机统一放到电控柜中。本文主要介绍图像采集处理分系统以及衰减器组件两部分。 2图像采集与处理 首先用图像采集卡将C C D拍摄的激光光斑图像转化为数字图像,然后用数字图像处理的方法获得光斑中心,计算白光十字分划线中心与光斑中心的偏差,根据差值调整激光测距机的发射光轴,直至二者重合‘l I,具体过程如图2所示。 _收稿日期:2006—06—27E-m a i l:zx i ur ong@bi t edu.cn 作者简介:周秀荣(1982一),女,河北省人,北京理工大学硕士研究生,从事光电子技术研究。422

【免费】LABVIEW-IMAQ模块中文说明书

IMAQ 模块介绍
fhinali 编写
IMAQ 模块介绍
一.LabVIEW 机器视觉前面板上的模块有以下几类(如图 1 所示) 1. IMAQ Image.ctl 2.Image Display control 3.IMAQ Vision controls 4.Machine Vision controls
图1 1 IMAQ Vision controls 对图像进行分析和处理所用到的一些控件, 包括图像的类型, 图像处理的方式和不同的 形态算子以及颜色的类型的选择等等.如图 2

IMAQ 模块介绍
fhinali 编写
图2 1.1 Image Type 用于图片类型的选择,可以选择的类别有 8bits,16bits,Float,Complex,RGB 和 HSL.一 般用在从文件中读取图片时类型的选择. 1.2 ROI Descriptor ROI 区域的描述.ROI 是 Region Of Interesting 的简称,中文应该翻译为目标区域.一般用 在一个大图中取一块特定形状的区域,以便后续的处理和分析. ROI 为一簇数据,包括一个整数数组和一个簇组成的数组.整数数组内有 4 个元素,为图形 最小外接矩形的四条边的坐标.簇数组中的簇由轮廓类型(整数) ,ROI 类型(整数)和图 形坐标点(为数组,根据 ROI 类型的不同,数组的定义也不同) 1.3Optional Rectangle 选择的矩形区域,为四个元素的数组,代表矩形的四条边的坐标. 1.4Color Mode 色彩模式,彩色图形的显示和处理模式,包括 RGB,HSL,HSV,HIS 四种. 1.5Threshold Range 阀值范围,为一包含两个数组元素的簇,常用于灰度或色彩图像阀值处理模块中. 1.6 Convolution Kernel 二维浮点数组成的数组,用于构造一些算法的算子. 1.7 Morphology Operation 形态算法的选择.可以选择不同的数据处理方式. 1.8 Structuring Element 结构元素,为二维的整数数组.

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的图像采集与处理

目前工作成果: 一、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几种图形显示的总结

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图像采集与处理论文(本科设计论文)

第一章:绪论 (3) 1.1 虚拟仪器概述 (3) 1.1.1 虚拟仪器的产生 (3) 1.1.2 虚拟仪器的概念 (3) 1.1.3 虚拟仪器的构成 (4) 1.1.4 虚拟仪器的优点 (6) 1.2 虚拟仪器的现状 (7) 1.2.1 国外虚拟仪器的现状 (7) 1.2.2 国内虚拟仪器的现状 (8) 1.2.3 虚拟仪器的发展趋势 (9) 1.3课题背景和课题目的 (10) 1.4 本文的研究内容 (10) 第二章图像采集原理及总体设计 (12) 2.1 图像采集原理 (12) 2.2 摄像头介绍 (13) 2.2.1摄像头简介 (13) 2.2.2摄像头的分类 (14) 2.2.3摄像头的工作原理 (14) 2.3 IMAQ VISION介绍 (15) 第三章虚拟图像采集与处理系统的设计 (16) 3.1 虚拟仪器创建过程 (16) 3.2 设计方案的比较 (17) 3.2.1 软件比较 (17) 3.2.2 USB摄像头数据采集的特点 (18) 3.3 总体设计 (19) 1 各类设计\论文联系QQ:609545949 Labview IO板卡https://https://www.docsj.com/doc/3f12502008.html,/

第四章软件模块的设计 (20) 4.1 程序的流程图 (20) 4.2 程序的结构图 (22) 4.3 LABVIEW 简介 (22) 4.3.1 G语言简介 (23) 4.3.2 LABVIEW 程序组成 (23) 4.4 数据采集和处理模块 (24) 4.4.1 创建摄像头列表 (24) 4.4.2 创建传感器资源 (24) 4.4.3 启动采集 (25) 4.4.4 创建图像 (25) 4.4.5 图像获取 (26) 4.5 图像保存 (26) 4.6 图片读取 (27) 4.8 小结 (27) 第五章程序设计显示 (28) 5.1 虚拟图像采集与处理系统的性能指标 (28) 5.1.1 控制面板 (28) 5.1.2 图像采集与处理系统的性能指标 (28) 5.2 程序的总框图 (29) 5.3 程序的调试结果 (30) 5.4 小结 (30) 第六章总结与展望 (32) 致谢 (36) 2

基于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,可产生独立运行的可执行文件,能脱离LabVIEW环境运行,像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本,这给发布应用程序带来了极大的方便。 利用LabVIEW软件能对图像进行处理的方式有很多种,如对图像进行边缘检测、图像特征提取、图像分割等。但考虑到现有的实验条件,本文选择了对图像进行了反色处理。大家对照片的底片一定都很熟悉了,底片上的颜色与色彩鲜艳的照片的颜色是正好相反的,即反色,这也是我们制作反色图像的核心。图像反

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处理动态图片

应用LabVIEW处理动态图片 1动态图片处理研究 1.1 图片处理的要求 采用网上资源丰富并且应用广泛的Flash广告商的动画作为图片来源,使用软件进行图片的灰度转化、像素调整后,能够显示在LED背光屏上。LabVIEW可以使用相应的ActiveX控件播放Flash动画,但是并没有提供函数来处理动画。所以必须利用第三方软件来将动画中的帧提取出来。动画的一般格式为SWF,应用SWF TO GIF软件将SWF转化为一帧帧的图片,如图1所示,以备后续处理 图1 SWF TO GIF软件生成图片 1.2 图像灰度处理研究 将彩色图像转化成为灰度图像称为图像的灰度化处理[7]。彩色图像中的每个像素的颜色有R、G、B三个分量决定,如果每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变少些。灰度图像

的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理一般可用两种方法来实现[8]。 第一种方法使求出每个像素点的R 、G 、B 三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量: 3 111B G R B G R ++=== (1) 第二种方法是根据YUV 的颜色空间中,Y 的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB 和YUV 颜色空间的变化关系可建立亮度Y 与R 、G 、B 三个颜色分量的对应: Y=0.3R+0.59G+0.11B (2) 这个亮度值可以表达图像的灰度值。 1.3 图像处理流程图 下面将按照如图2所示的流程图做细致的处理。

相关文档
相关文档 最新文档