《基于Labview的图像采集与分析软件的设计5637.pdf》由会员分享,可在线阅读,更多相关《基于Labview的图像采集与分析软件的设计5637.pdf(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 本科生毕业设计(论文)中文题目:基于 Labview的图像采集与分析软件的设计 英 文题 目:Design of image data acquisition and processing system software based on Labview 目 录 目 录.1 摘 要.1 ABSTRACT.2 1 引言.3 1.1 选题背景.3 1.2 国内外研究现状.5 2 LabVIEW的概述.8 2.1 LabVIEW 软件的介绍.8 2.2 LabVIEW 图像采集分析概述.16 2.3 LabVIEW 与外设连接概述.21 3 需求分析.2 4 3.1 软件总体结构.24 4 模块设
2、计.2 6 4.1 采集模块.26 4.2 分析模块.33 5 调试.3 6 5.1 采集程序的调试.36 5.2 分析程序的调试.36 6 总结.3 7 7 致谢.错误!未定义书签。经济分析报告.3 9 参考文献.4 0 摘 要 图像与人们的生产生活息息相关,是人类获取和交换信息的主要来源,据统计人类有 80%以上的信息来自于图像。随着计算机软件、硬件技术的日新月异的发展和普及,人类已经进入一个高速发展的信息化时代,科学研究、技术应用中图像处理技术成为越来越不可缺少的手段。图像显示系统包括图像采集、图像传输、图像存储、图像处理和图像分析等。其中图像显示是图像采集技术的基础和前提,图像显示是指
3、把将采集到得图像数据以完整的模式显示出来。图像采集所涉及的领域十分广泛。随着计算机技术发展和计算机应用的拓展,越来越迫切的需要将外面的信息传输到计算机当中进行显示和监控,传统的显示方法是应用 VC+进行开发,在这种开发环境下的开发有很高的编程要求,这要求编程人员具有很高的编程能力并且对 VC 具有很高的认识。为了解决这一问题使复杂的编程简单化,利用 LabVIEW开发能够很好的解决这一问题,它利用图形编程语言,使程序简单易懂。本文主要研究在 LabVIEW平台下与外接设备进行数据交换,怎么样调用 MATLAB程序,和 MATLAB进行图像处理的研究。首先介绍了图像显示分析在国内外的发展情况和现
4、状,然后介绍了 LabVIEW的大致应用情况,并且与传统的文字编程方法的一些优势。最后详细的对各个模块进行了系统的研究分析。关键词:图像,LabVIEW,分析,显示 ABSTRACT Image production and daily life with people,access to and exchange of human primary source of information,according to statistics 80%of the human information from the image.With the computer software and hard
5、ware technology,rapid development and popularization,we have entered an era of rapid development of information technology,scientific research,technology applications,image processing technology as a means of more and more indispensable.Image display system including image acquisition,image transmis
6、sion,image storage,image processing and image analysis.One image shows the image capture technology,the basis and premise,image display is to be collected to get a complete model of image data to be displayed.Image acquisition involved a wide range of areas.With the development of computer technolog
7、y and computer applications expand,more and more urgent need for outside information to a computer to display and monitor them,the traditional display method is VC+for application development,development environment in the development of this very high programming requirements,which requires program
8、mers programming capability and a high a high awareness of the VC.To solve this problem to simplify the complicated programming,developers can use LabVIEW to solve this problem well,which uses graphical programming language,make the program easy to understand.This paper mainly in the LabVIEW platfor
9、m to exchange data with external devices,how to call the MATLAB program,and MATLAB for Image Processing.First introduced the image display of the development at home and abroad and the status quo,then introduced the general application of LabVIEW and text programming methods with the traditional num
10、ber of advantages.Last detail of each module of the system analysis.KEYWORDS:Image,LabVIEW,analysis,show 1 引言 1.1 选题背景 图像与人们的生产生活息息相关,是人类获取和交换信息的主要来源,据统计人类有 80%以上的信息来自于图像。随着计算机软件、硬件技术的日新月异的发展和普及,人类已经进入一个高速发展的信息化时代,科学研究、技术应用中图像处理技术成为越来越不可缺少的手段。图像显示系统包括图像采集、图像传输、图像存储、图像处理和图像分析等。其中图像显示是图像采集技术的基础和前提,图像显
11、示是指把将采集到得图像数据以完整的模式显示出来。图像采集所涉及的领域十分广泛。20 世纪 20 年代,图像处理首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。到 20 世纪 50 年代,数字计算机发展到一定的水平后,数字图像处理才真正引起人们的兴趣。1964 年美国喷气推进实验室用计算机对“徘徊者七号”太空船发回的大批月球照片进行处理,收到明显的效果。20 世纪 60 年代末,数字图像处理具备了比较完整的体系,形成了一门新兴的学科。20 世纪 70 年代,数字图像处理技术得到迅猛的发展,理论和方法进一步完善,应用范围更加广泛。在这一时期,图像处理主要和模式识别及图像理解系统的研究相联系,如
12、文字识别、医学图像处理、遥感图像的处理等。20 世纪 70 年代后期到现在,各个应用领域对数字图像处理提出越来越高的要求,促进了这门学科向更高级的方向发展。特别是在景物理解和计算机视觉(即机器视觉)方面,图像处理已由二维处理发展到三维理解或解释。近年来,随着计算机和其它各有关领域的迅速发展,例如在图像表现、科学计算可视化、多媒体计算技术等方面的发展,数字图像处理已从一个专门的研究领域变成了科学研究和人机界面中的一种普遍应用的工具。应用数字图像处理技术在航天和航空技术方面的应用,除了上面介绍的 JPL 对月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。许多国家每天派出很多侦
13、察飞机对地球上有兴趣的地区进行大量的空中摄影。对由此得来的照片进行处理分析,以前需要雇用几千人,而现在改用配备有高级计算机的图像处理系统来判读分析,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。从 60 年代末以来,美国及一些国际组织发射了资源遥感卫星(如LANDSAT 系列)和天空实验室(如 SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。因此,以如此昂贵的代价进行简单直观的判读来获取图像是不合算的,而必须采用数字图像处理技术。如 LANDSAT 系列陆地 卫星,采用多波段扫描器(MSS),在 900km 高空对地球每一个地区以
14、 18 天为一周期进行扫描成像,其图像分辨率大致相当于地面上十几米或 100 米左右(如 1983年发射的 LANDSAT-4,分辨率为 30m)。这些图像在空中先处理(数字化,编码)成数字信号存入磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。现在世界各国都在利用陆地卫星所获取的图像进行资源调查(如森林调查、海洋泥沙和渔业调查、水资源调查等),灾害检测(如病虫害检测、水火检测、环境污染检测等),资源勘察(如石油勘查、矿产量探测、大型工程地理位置勘探分析等),农业规划(如土壤营养、
15、水份和农作物生长、产量的估算等),城市规划(如地质结构、水源及环境分析等)。我国也陆续开展了以上诸方面的一些实际应用,并获得了良好的效果。在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。生物医学工程方面的应用数字图像处理在生物医学工程方面的应用十分广泛,而且很有成效。除了上面介绍的 CT 技术之外,还有一类是对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。此外,在 X 光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。通信工程方面的应用当前通信的主要发展方向是声音、文字、图像和数据结合的多媒体
16、通信。具体地讲是将电话、电视和计算机以三网合一的方式在数字通信网上传输。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达 100Mbit/s 以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。除了已应用较广泛的熵编码、DPCM 编码、变换编码外,目前国内外正在大力开发研究新的编码方法,如分行编码、自适应网络编码、小波变换图像压缩编码等。工业和工程方面的应用在工业和工程领域中图像处理技术有着广泛的应用,如自动装配线中检测零件的质量、并对零件进行分类,印刷电路板疵病检查,弹性力学照片的应力分析,
17、流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些有毒、放射性环境内识别工件及物体的形状和排列状态,先进的设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给 工农业生产带来新的激励,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。军事公安方面的应用在军事方面图像处理和识别主要用于导弹的精确末制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌
18、的自动识别都是图像处理技术成功应用的例子。文化艺术方面的应用目前这类应用有电视画面的数字编辑,动画的制作,电子图像游戏,纺织工艺品设计,服装设计与制作,发型设计,文物资料照片的复制和修复,运动员动作分析和评分等等,现在已逐渐形成一门新的艺术-计算机美术。机器人视觉:机器视觉作为智能机器人的重要感觉器官,主要进行三维景物理解和识别,是目前处于研究之中的开放课题。机器视觉主要用于军事侦察、危险环境的自主机器人,邮政、医院和家庭服务的智能机器人,装配线工件识别、定位,太空机器人的自动操作等。视频和多媒体系统:目前,电视制作系统广泛使用的图像处理、变换、合成,多媒体系统中静止图像和动态图像的采集、压缩
19、、处理、存贮和传输等。科学可视化:图像处理和图形学紧密结合,形成了科学研究各个领域新型的研究工具。电子商务:在当前呼声甚高的电子商务中,图像处理技术也大有可为,如身份认证、产品防伪、水印技术等。总之,图像处理技术应用领域相当广泛,已在国家安全、经济发展、日常生活中充当越来越重要的角色,对国计民生的作用不可低估。1.2 国内外研究现状 1964 年,美国喷气推进实验室利用计算机对太空船发回的月球图像信息进行处理,收到明显的效果,不久之后,一门称为数字图像处理的新学科诞生了。自 20 世纪 70 年代末以来,由于数字技术和微机技术的迅猛发展给数字图像处理提供了先进的技术手段,图像处理技术也由信息处
20、理、自动控制系统理论,成长为旨在研究图像信息的获取、传输、存储、变换、显示、理解与综合利用的崭新学科。随着图像处理技术基础理论的发展,具有数据量大、运算速度快、算法严密、可靠性强、集成度高、智能性强等特点的各种应用图文系统在国民经济各部门得到广泛的应用,并在逐渐深入到家庭生活。有人预言,图像产业将是新世纪影响国民经济、国家防务和世界经济的举足轻重的产业。当前,通信、广播、计算机技术、工业自动化、国防工业乃至印刷、材料科学等部门的尖端课题无一不与图像处理科学的进展密切相关。随着计算机技术的发展,特别是高速数字信号处理器(DSP)的应用,极大地推动了图像处理技术的发展。图像处理系统分为通用图像处理
21、系统和专用图像处理系统,其发展过程大致可分为三个阶段。第一阶段大体上是 20 世纪 60 年代末到 80 年代中期,当时的代表英国 JOYCELOEBL公司推出的 MAGISCAN 图像分析系统以及美国 VICOM 公司推出 VICOM-VEM 图像处理工作站、VICOM-VEM 机器视觉计算机。MAGISCAN 用于医学图像处理和金相分析,VICOM-VEM 系统主要用于工业控制。由于这些系统采用机箱式结构,所以系统的体积比较大,虽然功能较强,但价格昂贵。我国图像处理系统的研制起步较晚,主要有清华大学的 TS79 小型通用图像处理系统、TJ82 图像计算机和 TS84 多功能微机图像处理系统
22、。同样是采用机箱式结构,主流计算机采用小型机。第二阶段是从 80 年代中期到 90 年代初期,该阶段的特点是小型化,外部结构不再是机箱式而是插卡式。通过把图像卡插到计算机内,即可和计算机构成图像处理系统。典型产品有:美国Image Technology公司的PCVISION 系列图像卡,美国DT公司推出的DT2851图像卡、DT2858 图像卡和 DT871 真彩图像卡。加拿大 MATRON 公司也推出一系列图像卡。在国内,80 年代末到 90 年代初,中科院自动化研究所成功研制 CA 系列图像卡,清华大学成功研制 TH 系列图像卡。由于图像卡体积小、价格低、使用方便,所以很受用户欢迎。这阶段
23、的图像卡大都开始采用大规模集成电路甚或是专用集成电路。这阶段特点是:主流机采用 PC,计算机总线采用 ISA 总线。第三阶段是从 90 年代初开始,这阶段的产品出现两大分支,一种仍是采用插卡式,随着PCI总线技术的成熟,使得采用PCI总线的图像卡逐步取代采用ISA总线接口的图像卡。在国内,北京中自技术集团、微视公司等都推出系列 PCI 图像卡产品。该类产品的特点是:采用 PCI 总线,在 Windows 平台上编制图像处理软件。另一种图像卡是采用大规模集成电路或专用芯片取代计算机的脱机图像处理系统。随着 DSP 芯片集成度、运算速度的大幅度提高,价格大幅度降低,DSP 芯片成为脱机图像系统的主
24、流处理器。由于美国 TI 公司在DSP 市场上的主导地位,使得 TI 公司的图像处理平台在世界上处于领先地位。国内的 DSP技术起步较晚,但发展很快。90 年代末就有比较成熟的产品出现。典型产品有闻亭公司的 WT6201P/PA,WT6701P/PA 图像处理系统和 WT32EA 通用图像处理系统。目前,由于 PCI 总线的诸多优点,在没有特殊限制的场合,采用计算机+PCI 接口图像采集卡仍将是图像处理系统的主流配置。但随着半导体技术的飞速发展,基于 DSP 和大规模集成电路的脱机图像处理系统的开发与应用将达到更高的水平。几年来,瞬态物理国家重点实验室在研制电视导引头的过程中使用了多种图像采集
25、处理系统,例如:PC 机+OK 卡、TMS320C6711、TMS320C6416 和 TMS320DM642 等。综合考虑各款国内外的图像处理平台的处理速度、图像接口、性价比等因素,TMS320DM642显示出优势。这款 TI 公司的 DSP 芯片具有内核速度快(600MHz)、有独立的视频端口、强大的存储器扩展能力、不断下降的价格等特点。纵观当今国内外图像卡产品的现状,图像采集系统趋于实时性,而且功能实现越来越复杂,FPGA(Field Programmable Gate Array)以其自身优势引起图像处理系统制造商的关注,但一般为国外产品,而且价格相对昂贵。2 LabVIEW的概述 2
26、.1 LabVIEW软件的介绍 虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。虚拟仪器的主要特点有:尽可能采用了通用的硬件,各种仪器的差异主要是软件。可充分发挥计算机的能力,有强大的数
27、据处理功能,可以创造出功能更强的仪器。用户可以根据自己的需要定义和制造各种仪器。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国 NI 公司的 LabVIEW。虚拟仪器的起源可以追朔到 20 世纪 70 年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC 机出现以后,仪器级的计算机化成为可能,甚至在 Microsoft公司的 Windows 诞生之前,NI 公司已经在 Macintosh计算机上推出了 LabVIEW2.0 以前的版本。对虚拟仪器和 LabVIE
28、W 长期、系统、有效的研究开发使得该公司成为业界公认的权威。普通的 PC 有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统。性能不太高,目前作为计算机化仪器的一个重要发展方向是制定了 VXI 标准,这是一种插卡式的仪被测对象信号调理数据采集卡虚 拟 仪 器 面 板数据处理 器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI 仪器价格昂贵,目前又推出了一种较为便宜的 PXI 标准仪器。虚拟仪器研究的另一个问题是各种标准仪器的互连及
29、与计算机的连接。目前使用较多的是 IEEE 488 或 GPIB 协议。未来的仪器也应当是网络化的。LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用 TCP/IP、ActiveX 等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有
30、趣。图形化的程序语言,又称为“”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW 是一个面向终端用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用 LabVIEW,可产生可单独执行的可执行文件,它是一个真正的位编译器。像许多重要的软件一样,LabVIEW 提供了 Windows、UNIX、Linux、Macintosh的多种版本。所有的 LabVIEW 应用程序,
31、即虚拟仪器(VI),它包括前面板(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。前面板 前面板是图形用户界面,也就是 VI 的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控件显示对象。图 1 所示是一个随机信号发生和显示的简单 VI 是它的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。还有一个控制对象开关,可以启动和停止工作。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。流程图 流程图提供 VI 的图形化源程序。在流程图中对 VI
32、 进行编程,以控制和操作定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。下面两图是对应的流程图。我们可以看到流程图中包括了前面板上的开关和随机数显示器的连线端子,还有一个随机数发生器的函数及程序的循环结构。随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续工作下去,设置了一个 While Loop 循环,由开关控制这一循环的结束。如果将 VI 与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图控制对象(输入)显示对象(输出)随机信号发生器的前面板 函数:随机数发生器 结构:循环
33、与前面板控件对应的连线端子 与前面板控件对应的连线端子 随机信号发生器的流程图 上的东西相当于仪器箱内的东西。在许多情况下,使用 VI 可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。在 LabVIEW 的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。工具模板 该模板提供了各种用于创建、修改和调试 VI 程序的工具。如果该模板没有出现,则可以在 Windows菜单下选择 Show Tools Palett
34、e命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从 Windows菜单下选择了 Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。下述工具中注意和的区别,用于编程时,用于运行程序时。是一个特有的工具,它并不是一个简单的画线工具,而是一个符合 LabVIEW 语言规定的对象连接工具。工具图标有如下几种:图标 名称 功 能 Operate Value(操作值)用于操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具 Position/Size
35、/Select(选择)用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。Edit Text(编辑文本)用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。Connect Wire(连线)用于在流程图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示出相应的数据类型。Object Shortcut Menu(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。Scroll Windows(窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。Set/Clear Breakpoint(断点设置清除)使用该工具在 VI 的流程图对
36、象上设置断点。Probe Data(数据探针)可在框图程序内的数据流线上设置探针。通过控针窗口来观察该数据流线上的数据变化状况。Get Color(颜色提取)使用该工具来提取颜色用于编辑其他的对象。Set Color(颜色设置)用来给对象定义颜色。它也显示出对象的前景色和背景色。下面的两个模板是多层的,其中每一个子模板下还包括多个对象。控制模板(Control Palette)该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用 Windows菜单的 Show Controls Palette功能打 开它,也可以在前面板的空白处,点击鼠
37、标右键,以弹出控制模板。控制模板如左图所示,它包括如下所示的一些子模板。子模板中包括的对象,我们在功能中用文字简要介绍。图标 子模板名称 功 能 Numeric(数值量)数值的控制和显示。包含数字式、指针式显示表盘及各种输入框。Boolean(布尔量)逻辑数值的控制和显示。包含各种布尔开关、按钮以及指示灯等。String&Path(字符串和路径)字符串和路径的控制和显示。Array&Cluster(数组和簇)数组和簇的控制和显示。List&Table(列表和表格)列表和表格的控制和显示 Graph(图形显示)显示数据结果的趋势图和曲线图。Ring&Enum(环与枚举)环与枚举的控制和显示。I/
38、O(输入/输出功能)输入/输出功能。于操作 OLE、ActiveX等功能。Refnum 参考数 10 Digilog Controls(数字控制)数字控制 11 Classic Controls(经典控制)经典控制,指以前版本软件的面板图标。12 Activex 用于 ActiveX等功能。13 Decorations(装饰)用于给前面板进行装饰的各种图形对象。14 Select a Controls(控制选择)调用存储在文件中的控制和显示的接口。15 User Controls(用户控制)用户自定义的控制和显示。功能模板(Functions Palette)功能模板是创建流程图程序的工具。该
39、模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用 Windows菜单下的 Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。功能模板如右图所示,其子模块如下所示。(个别不常用的子模块未包含)图标 子模板名称 功 能 Structure(结包括程序控制结构命令,例如循环控制等,以及 构)全局变量和局部变量。Numeric(数值运算)包括各种常用的数值运算,还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。Boolean(布尔运算)包括各种逻辑运算符以及布尔常数。String(字符串运算)包含各种字符串操
40、作函数、数值与字符串之间的转换函数,以及字符(串)常数等。Array(数组)包括数组运算函数、数组转换函数,以及常数数组等。Cluster(簇)包括簇的处理函数,以及群常数等。这里的群相当于 C 语言中的结构。Comparison(比较)包括各种比较运算函数,如大于、小于、等于。Time&Dialog(时间和对话框)包括对话框窗口、时间和出错处理函数等。File I/O(文件输入/输出)包括处理文件输入/输出的程序和函数。Data Acquisition(数据采集)包括数据采集硬件的驱动,以及信号调理所需的各种功能模块。Waveform(波形)各种波形处理工具 Analyze(分析)信号发生、
41、时域及频域分析功能模块及数学工具。Instrument I/O(仪器输入/输出)包括 GPIB(488、488.2)、串行、VXI仪器控制的程序和函数,以及 VISA的操作功能函数。Motion&Vision(运动与景像)Mathematics(数学)包括统计、曲线拟合、公式框节点等功能模块,以及数值微分、积分等数值计算工具模块。Communication(通讯)包括 TCP、DDE、ActiveX和 OLE等功能的处理模块。Application Control(应用控制)包括动态调用 VI、标准可执行程序的功能函数。Graphics&Sound(图形与声音)包括 3D、OpenGL、声音播
42、放等功能模块。包括调用动态连接库和 CIN节点等功能的处理模块。Tutorial(示教课程)包括 LabVIEW示教程序。Report Generation(文档生成)Advanced(高级功能)Select a VI(选择子 VI)User Library(用户子VI库)2.2 LabVIEW图像采集分析概述 图像采集 LabVIEW提供了多种图像采集的方法。其中NI公司的视觉采集软件提供的驱动和函数,既能够从数千种连接到 NI 帧接收器上的不同相机上采集图像,也能够从连接在 PC、PXI系统或笔记本计算机上标准端口的 IEEE 1394和千兆位以太网视觉相机采集图像。在推出 应用软件的基础
43、上,NI 公司又推出了图像采集卡,对于 NI 公司的图像采集卡,可以直接使用采集卡自带的驱动以 LabVIEW 中的 DAQ 库直接对端口进行操作。但由于 NI 公司的图像采集卡成本很高,大多用户难以接受,因此硬件平台往往采用通用图像采集卡,软件方面的处理程序仍采用 LabVIEW以及视频处理模块编写。文正是基于这样的目的,提出了一种在 LabVIEW环境下驱动通用图像采集卡的方案,在 TDS642EVM高速 DSP 视频处理板卡的平台下,完成实时图像采集及处理。在图象处理的工作中主要完成对 CCD光电探测器的辐射标定。由于探测器在自然环境下获取图像时,会受到来自大气干扰,自身暗电流,热噪声等
44、影响,使 CCD 像元所输出信号的数值量化值与实际探测目标辐射亮度之间存在差异,所以要得到目标的精确图像就必须对探测器进行辐射标定。闻亭公司 TDS642EVM(简称 642)多路实时视频处理板卡是 DSPTMS320DM642 芯片设计的评估开发板。计算能力可达到 4Gips,板上的视频接口和视频编解码芯片 PhilipsSAA7115H 相连,实现实时多路视频图像采集功能,支持多种 PAL,NTSC和 SECAM视频标准。本系统通过 642 的 PCI 接口与主机进行数据交换。PCI 支持“即插即用(PnP)”自动配置功能,使图像采集板的配置变得更加方便,其一切资源需求的设置工作在系统初启
45、时交由 BIOS处理,无需用户进行繁琐的开关与跳线操作。PCI 接口的海量数据吞吐,为其完成实时图像采集和处理提供保证。图 1 图像采集的过程也就是图像采集板卡对来自 CCD 的标准视频信号(PAL 制式)进行模数转换的过程,将量化后的数据通过PCI总线传入计算机内存,然后通过编制的应用程序读取显示。如图 1 所示,模块实现的功能是把由摄像头输入的模拟视频转换成为 BT.656标准的 视频数据流。在本系统中,摄像头输出 PAL制的模拟视频,通过 CVBS接口输入到 ADV7181B中。与视频解码器的接口分为:数据接收部分和控制部分。数据接收部分的数据宽度为 8位,D0 到 D7;控制部分即 I
46、2C 模块,接口为 SCLK 和 SDA。视频信号采集模块(FPGA+SRAM):BT.656 数据传输到 FPGA 以后,FPGA 要对输入的数据进行预处理,再传送给 DSP 进行处理。预处理的目的是把 BT.656 数据流中的 Y,Cb,Cr 信号分别提取出来,用 SRAM 作为缓存,再传送给 DSP 进行处理。FPGA 中主要有三个接口:与视频解码器的接口,与 DSP 的接口以及与 SRAM 的接口。对于采集的数据,可以采用以下的一种图像缓存方案:FPGA 把获得的一帧图像的数据保存到 SRAM 中,同时 DSP 从另外一块 SRAM 中读取数据。这样,在第一次采样时,FPGA 将从 A
47、DV7181B 中获得的数据保存到 SRAM 中,此时 DSP 处于等待状态。第一次采样结束后,DSP 与 FPGA 进行总线切换,分别连接到与上次不同的 SRAM 上,此时 DSP开始读数据,FPGA 开始采数据。每当 DSP 与 FPGA 完成各自的任务时,DSP 与 FPGA 进行总线切换,交换连接的 SRAM,从而实现帧的连续采集。视频信号处理模块(TMS320C6713):TMS320C6000 的开发主要面向数据密集型算法,有着丰富的内部资源和强大的运算能力,所以被广泛地应用于数字通信和图像处理等领域。视频采集应用程序由 LabVIEW 编制完成。在需要进行图像采集时,LabVIE
48、W 发送读取 SDRAM 中存储的 YCbCr 格式图像数据的请求,642 获得请求后,开始采集图像并将采集到的 YCbCr 数值存储到相应的内存地址,在 642 完成整一帧的图像采集之后,将 SDRAM 中的标志变量 Sem 设定为 0,LabVIEW 在这个过程中循环读取标志变量的值,当为 0 时,则从 SDRAM 中获得图像数据,也就是 Y,Cb,Cr 三个数组的数据,然后将其转化为 LabVIEW 能够显示的标准 RGB 格式输出该图像。图像处理 图像处理也可以称作视觉处理。LabVIEW提供了多种图像处理的方法。其中非常常见的是通过调用 MATLAB图像处理程序。MATLAB 具有强
49、大的科学计算功能 大量稳定可靠的算法库 集数值分析 矩阵运算 信号处理和图形显示于一体 针对不同领域的应用 具有信号处理 图像处理 神经网络等几十个专用工具箱 MATLAB 的缺点在于界面开发能力较差 并且数据输入 网络通信 硬件控制等方面都比较繁琐。基于以上理由 利用混合编程技术在 LabVIEW中调用和操作 MATLAB 就可以相互补充 充分发挥两者的优势 开发出高效率的虚拟仪器。LabVIEW 和 MATLAB 混合编程的实现主要有以下几种方法:(1)利用节点调用算法。在 MATLAB Script 节点中 用户可以编辑 MATLAB 程 序 也 可 以 直 接 调 入 已 经 存 在
50、的 MATLAB 程序 并在 LabVIEW 环境下运行 用户可以很方便地在自己的 LabVIEW 应用程序中使用 MATLAB 编写的算法和功能丰富的工具箱。MATLAB Script 节点对输入 输出数据的类型有明确的要求 目前两者之间的数据通信仅支 Real Real Vector Real MatrixComplexVector ComplexMatrix 六种格式的数据 而且还必须根据具体情况进行选择。用该方法实现 LabVIEW 与 MATLAB 的混合编程简单 实用 其缺点是没有脱离 MATLAB 的环境而只是将它在后台执行 所以这种方法必须在计算机中安装有 MATLAB。(2)