您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Labview_图像处理大全
10.210.210.210.2利用LabVIEWLabVIEWLabVIEWLabVIEW进行图像采集与处理利用LabVIEW进行图像处理是一个非常重要的应用。在许多行业中采用图像的采集和识别来进行判断、控制,使操作更加精确,具有可信度、人性化、智能化。本节将讲解利用LabVIEW进行图像采集和处理的实例。10.2.110.2.110.2.110.2.1图像处理介绍图像处理也可以称作视觉处理。LabVIEW提供了多种图像处理的方法。其中NI公司的视觉采集软件提供的驱动和函数,既能够从数千种连接到NI帧接收器上的不同相机上采集图像,也能够从连接在PC、PXI系统或笔记本计算机上标准端口的IEEE1394和千兆位以太网视觉相机采集图像。LabVIEW中的视觉开发模块作为强大的机器视觉处理库,配有各类函数,其中包括:边缘检测、颗粒分析、光学字符识别和验证、一维和二维代码支持、几何与模式匹配、颜色工具。该模块可与NI公司的所有软件、C++、MicrosoftVisualBasic、Microsoft.NET相互调用,为用户提供了相当便利的操作。用户可通过视觉开发模块的同步功能,实现与运动或数据采集测量的同步。NI公司提供的图像处理软件包Vision8.5.1AcquisitionSoftware,是专门为LabVIEW8.5服务的。它可以在LabVIEW8.5中完成各种关于图像处理、视觉运行的控制。10.2.210.2.210.2.210.2.2实例内容说明本实例主要完成通过USB摄像头采集图像,并经过一些运算对图像进行数据分析。在实例中用采集到的图片作样本,让系统认识一个像素,然后开始自动查找图像中的相同像素,查找时还要对图片进行翻转,以全面找到相同的像素,最后再标注出这些点的中心位置和点数。10.2.310.2.310.2.310.2.3VisionVisionVisionVision安装与介绍本例主要通过Vision8.5.1AcquisitionSoftware软件包来实现。Vision8.5.1AcquisitionSoftware软件包是一种专门的图像处理软件,需要单独安装。此软件一般可以通过供应商购买,也可以通过NI公司网站下载。1111.VisionVisionVisionVision安装Vision8.5.1AcquisitionSoftware安装步骤如下:(1)把光盘放入计算机光驱,系统会自动识别,并显示出安装自检界面,如图10-34所示。(2)当安装程序自检完成后,“Next”按钮显示为可操作状态。此时单击“Next”按钮进入下一个界面,选择安装路径,如图10-35所示。图10-34安装自检图10-35选择安装路径(3)一般此路径就是LabVIEW软件安装的默认路径。如果在安装LabVIEW软件时没有改动路径,则不需要修改此路径。单击“Next”按钮,进入下一步选择安装驱动的界面,如图10-36所示。(4)在驱动选择界面中,可以选择要安装的驱动类型。这里可以看到有4种驱动可安装。当不需要某种驱动时,在其选项上打叉即可。当选择完要安装的驱动后,单击“Next”按钮,进入下一步的安装确认界面,如图10-37所示。图10-36驱动选择图10-37信息确认(5)对显示的信息确认无误后,单击“Next”按钮开始安装,如图10-38所示。(6)当安装完上面的所有软件包后,系统会显示安装完成界面,并提示是否选择激活此软件。根据自己的需要选择后,单击“Next”按钮进入下一步骤。最后安装完成的界面如图10-39所示。图10-38正在安装图10-39安装完成2222.VisionVisionVisionVision介绍Vision是一个图像处理的工具包,当安装完成后,启动LabVIEW软件,可以在前面板与后面板上看到相应的控件和函数。(1)前面板控件安装完Vision后,前面板中会自动出现一个Vision选项列表,打开它后可以看到有三个显示控件,如图10-40所示。—IMAQImage.ctl:对图像进行分析和处理时用到的一些控件,可用于对图像的类型。图像处理的方式、不同的形态算子,以及颜色的类型的选择等。—ImageDisplay用于设置图片显示方式,包括放大、移动、选择等。—ImageDisplay(Classic)也用于对图像显示的设置。它只是设置以经典的方式显示图像。(2)后面板函数在后面板中,打开函数选板,可以看到“视觉与运动”下拉列表。打开此列表将显示Vision安装后所有的函数,其中包括运动控制方面的函数,如图10-41所示。图10-40Vision显示控件图10-41“视觉与运动”函数在后面板的函数选板中,可以看到有5大类的“视觉与运动”函数。它们主要是一些图像采集和图像处理的函数。—NI-IMAQ列表:是图像采集函数列表,主要用于通过NI的系列图像采集板卡来获得图像。其中包括任务的建立、设备的初始化以及硬件参数的设定等函数,如图10-42所示。—VisionUtilities列表:是视觉应用函数列表,用于对图像进行一些初步的整体操作。它包括的函数节点如图10-43所示。其中,ImageManagement是图像管理模块,包括建立和清除图像任务,获取图像的各类信息,图像的类型转换等函数节点,如图10-44所示。Files是图像文件模块,完成对图像文件的读写,以及图像附加信息的读写操作,如图10-45所示。图10-42NI-IMAQ函数列表图10-43VisionUtilities函数列表图10-44ImageManagement函数列表图10-45Files函数列表ExternalDisplay是图像的外部显示模块,如选中某一光标区域等。PixelManipulation是图像像素处理模块。此模块中的函数节点对图像的像素直接进行操作,包括图像上的点、线、面像素值的获取和设定,以及在图像中插入文本。Overlay是图像覆盖模块,可以对图像上的某一点、线、面(多边形、矩形和圆)进行覆盖。此种覆盖为非破坏性的覆盖,即不破坏原有的图像,覆盖信息可以另外和图像一起保存。ColorUtilities是颜色应用模块,用于彩色图像中色彩的提取,图像中某点、线、面中色彩的设定或获取,以及不同色彩模型的转换。10.2.410.2.410.2.410.2.4图像采集要处理图像,必须先要获取一张图像。获取图像是通过调用Vision中的IMAQUSB函数来实现的。它的最大优势在于可以自动识别USB摄像头,并读取数据。选择“函数”|“VisionandMotion”|“IMAQUSB”命令,打开IMAQUSB函数下拉列表,如图10-46所示。在进行图像采集时,先要用IMAQCreate函数创建一个图像任务,此函数的接线如图10-47所示。图10-46图像采集函数图10-47IMAQCreate函数图标这里通过此函数对图像的名称和类型大小等进行定义,否则后面的工作没有办法进行。然后再通过一个USB启动函数来调用USB摄像头设备。此函数是NI公司自己研发专门读取USB设备的函数,其内部通过调用ImaqDirectShowDll.dll文件来实现。打开USB设备后,就要从此设备上获取数据,所以用了一个IMAQUSBGrabAcquire函数来实现。整个图像采集程序框图如图10-48所示。10.2.510.2.510.2.510.2.5图像处理过程此处的图像处理包括对图像进行采样,找出与采样点相同的图像。为了找出各种角度放置的采样点,在查找的同时对图像进行了360°的翻转,这样可以找出图像上所有相同点。1111.整体设计在本实例设计中,对一张图片先设置好要查找的内容,然后开始自动查找,最后对找出的内容进行标记和显示。由于软件的运行比较复杂,数据的采集又是实时的,要求处理速度比较快,所以要对其进行整体设计,合理安排控件的调用和执行顺序。本程序中采用了一个大循环,保持程序的持续运行。在内部再调用一个顺序结构来控制程序的执行顺序,这样可以保证程序按编程者的思路进行。具体的工作流程图如图10-49所示。图10-48图像采集图10-49整个程序流程图2222.设置查找像素读取了图像数据后,还要设置查找的像素。这里通过一个光标选择函数来实现。先用函数IMAQSetupLearnPattern2来设置需要记录的各项,然后再用IMAQExtract函数进行光标设置。这样就记录了此光标区域的图像数据。它的程序框图如图10-50所示。图10-50设置查找像素这里用一个条件结构来控制是否进入记录像素的程序。也就是当选择了要记录的像素后,才进入此分支程序。在这一分支程序中,又利用了一个顺序结构,这样提高了程序运行的效率。它的程序如图10-51所示。图10-51复位记录按钮3333.开始查找当设置完以上要查找的像素后,就可以在需要的图片中查找此像素。为了查找有用的像素,在选择了“开始查找”后,要先读取上面标记的像素,再进行查找。此处程序的设计中,也是先运行一个条件结构,再运行顺序结构,按顺序执行程序。读取光标选择像素的程序如图10-52所示。图10-52读取选择的像素当读取像素后,利用顺序结构在第二帧的图像中继续查找。在这一帧中放置了一个循环,并限制循环次数为4。此时先用一个IMAQRotate对图像进行翻转,每次翻转90°。这样就可以在循环4次时翻转一周,对图像上各个角度的像素进行查找。再把图像送到IMAQMatchPattern2函数,对其进行查找。通过此函数直接输出找到的像素信息的数组。为了对找到的信息进行处理,又用一个For循环对此数据和簇进行拆分。这里的For循环次数直接由数组大小来控制。把数组拆开后再找到像素的中心位置,并按设置好的字体和格式显示出来。对字体的设置,前面板如图10-53所示。从图10-52中可以看出,其中包括字体名称、字体大小、下画线、加粗等标记方式。标记字体程序如图10-54所示。图10-53标记字体设置图10-54标记字体程序可以看到,最复杂的设置是对标记内容的组合与写入。这里先由DrawPatternMatchesPosition函数读取各个记录点的坐标值,然后用一个字符串组合函数把标记和坐标值组合成一个标记字符串。最后由IMAQDrawText函数把组合好的标记信息直接写入图像界面中。整个标记程序如图10-55所示。图10-55完整标记程序当第二帧执行完后,进入第三帧的图像大小设置。因为在前面查找的过程中,为了查找得更加精确,对图像进行了像素的放大,这里为了显示的方便,就需要对图像进行还原,这样才可以看得清楚。此处用了IMAQExtract函数,对显示的图像进行放大和缩小,但是没有改变真正的图像。它的程序框图如图10-56所示。图10-56图像还原4444.程序前面板当所有后面板程序编写完后,就要进行前面板控件布局。由于此程序中涉及的控件不多,所以很好设置整体布局。程序界面如图10-57所示。其中,“标签类型”是为了给标签进行不同的编号,在当前坐标前面加的一个前缀,这样更好区分不同的像素点。“最大数目”是查找出目标的最大限制。如果设置为40,则最多只能找出40个目标。当大于此值时,则将多出来的其他目标量忽略。下面对查找时要放大的倍数进行设置,这里只是对二维的数据放大,所以在界面上设置两个值,一个是X,另一个是Y。前面板布局如图10-58所示。图10-57控制项设置图10-58放大设置为了对系统的工作进行控制,需要设置4个按钮。它们分别如下:—开始采集:用于启动采集,完成整个任务的第一个动作,采集一张图片。—记录标记:用于对光标选择的区域进行记录,以识别设置像素。—开始查找:启动整个系统,对采集到的图片进行查找,找出相同像素并进行标记。—停止工作:系统停止工作。界面布局如图10-59所示。接下来对查找后的图像进行显示,这是非常关键的一个步骤。这里还对查找到的总个数进行了统计,这样可以让人对查找结果一目了然,完整的前面板界面如图10-60所示。图10-59按钮设置图10-60完整界面10.2.610.2.610.2.610
本文标题:Labview_图像处理大全
链接地址:https://www.777doc.com/doc-5510164 .html