基于LabVIEW和USB摄像头的图像采集与处理-电气论文基于LabVIEW和USB摄像头的图像采集与处理金雨1,李红莉2(1.合肥工业大学宣城校区,安徽宣城242000;2.合肥工业大学,安徽合肥230009)摘要:为了实现实时的图像采集与处理,利用通过基于LabVIEW软件平台和NI?IMAQVision函数工具包,探讨如何通过通用USB摄像头进行图像采集和处理的方法。包括如何快速搭建软件平台、如何进行单一图像的抓取及图像的常规处理,灰度、二值和增强处理,以及如何获得连续的视频图像采集和压缩。该方法相比于其他图像获取与处理手段,其具有无法比拟的优势。它成本低廉,相对于其他语言的实现方法其编程具有极高的效率,并且该方法能满足一般工业、医用和民用需求。关键词:LabVIEW;USB摄像头;图像采集;图像处理中图分类号:TN911.73?34文献标识码:A文章编号:1004?373X(2015)20?0067?04ImageacquisitionandprocessingbasedonLabVIEWandUSBcameraJINYu1,LIHongli2(1.XuanchengBranchofHefeiUniversityofTechnology,Xuancheng242000,China;2.HefeiUniversityofTechnology,Hefei230009,China)Abstract:Toachievereal?timeimageacquisitionandprocessing,themethodofimageacquisitionandprocessingbyusingUSBcameraisdiscussedonthebasisofLabVIEWsoftwareplatformandNI?IMAQVisionfunctiontoolkit.Thismethodincludeshowtoconstructsoftwareplatformquickly,capturethesingleimage,dealwithimagecommonprocessing(greyscale,binaryandenhancementprocessing),andobtaincontinuousvideoimageacquisitionandcompression.Comparedwithotherimageacqui?sitionandprocessingmeans,thismethodhasincomparableadvantages.Thismethodhascostlow,andhighprogramefficiencyrelativetootherlanguages’implementationmethods,andcansatisfytherequirementsofgeneralindustrial,medicalandciviluse.Keywords:LabVIEW;USBcamera;imageacquisition;imageprocessing0引言视频采集可将连续的模拟信号图像转换成数字视频,并按数字视频文件的格式保存。尽管人眼的分辨力较高,有较好的色彩区分和图像识别能力,但人眼的识别与区分功能也是有限的,一些图像对于人眼来说较为复杂。图像、图形是所有视觉信息的载体,而数字图像处理(DigitalImageProcessing)技术可以帮助人们更客观、准确地认识世界,通过图象增强技术,可以使模糊甚至不可见的图像变得清晰明亮,数字图像处理技术已经广泛深入地应用于科技发展的各个领域。随着测控技术的不断发展,视频采集和数字图像处理成为测控技术中的重要一环,作为对被测对象的识别、分析的最佳手段,是工程人员需要掌握的核心技术之一。视频采集卡是视频采集工作中的主要设备,而目前视频采集卡成本普遍较高[1],加之数字图像处理难度较大,常常使得普通用户望而却步。本文介绍一种基于NI公司提供的LabVIEW图形化编程软件平台以及VisionAcquisitionSoftware和VisionDevelopmentModule工具包,采用通用USB摄像头进行图像采集和图像处理的具体实现方法,以方便用户低成本、简便地获取所需要的图像信息。1建立基于LabVIEW的图像采集平台利用LabVIEW对通用USB摄像头视频图像进行采集和处理的系统构成如图1所示。其中,通用USB摄像头安装后,可以在计算机的“设备管理器”的“通用串行总线控制器”中查看相关的USB摄像头信息。摄像头驱动软件一般为系统自动安装,特殊情况下需使用者自行手动下载安装。基于LabVIEW的图像采集系统中,NI公司提供的LabVIEW图形化编程环境作为程序开发的基本平台。NI?VISA是一个用来与各种仪器总线进行通信的高级应用编程接口(API),包含VISA的全套驱动程序、开发包、相关文档及美国国家仪器公司(NI)提供的一个控制软件Measure?mentAutomationExplorer(MAX)。安装了NI?VISA,LabVIEW即可访问计算机上的设备和接口。IMAQVision是LabVIEW的视觉开发工具包,是一个具有强大功能的函数库,提供了在LabVIEW平台上进行图像采集、机器视觉系统开发时所需的各类子程序[2?3]。安装后,可在“视觉与运动”函数子选板下看到可用的函数和VI库,同时在“NIMAX”中可查看摄像设备是否已可以在LabVIEW下调用[4]。IMAQVision模块中的IMAQ用于NI自己的摄像机,IMAQdx用于非NI的USB,1394,GigEVision视频设备。用于USB摄像头的NI?IMAQdx能够实现从任意具有DirectShow支持的USB成像设备上采集图像,可以选择一次或连续图像采集。VDM(VisionDevelopmentModule)用于图像处理,该工具包也需要单独安装。安装后,前面板Vision列表中会增加IMAQ视觉模块和机器视觉模块两个控件模块,后面板的“视觉与运动”中将增加图像处理和机器视觉两个模块。通过调用IMAQVision和VDM下的相关函数和VI编写相应的图像采集和处理用户程序,控制通用USB摄像头抓拍或者连续采集图像,保存图像文件,并对图像进行压缩和灰度、二值化及增强等图像处理。可见,该系统硬件选用简单,侧重软件设计,且有工具包可以辅助编程,因此功能实现方便,开发周期短,成本低。2图像采集2.1USB摄像头图像抓取USB摄像头图像抓取程序包括两个事件:一是抓取图像并输出到图像显示窗口;二是将抓取的图像存储到文件。程序执行的过程是首先打开所选择的摄像头,创建临时图像存储空间,启动图像抓取,如果拍照按钮没有按下,则将获取到的当前帧送图像显示窗口显示;如果拍照按钮按下,则将获取的当前帧以“.JEPG”格式保存到文件。后面板程序如图2所示,运行结果如图3所示。通过该方法能够快速地获得所需单幅图像并存储。2.2连续视频图像采集连续视频图像采集程序如图4所示。首先打开所选择的摄像头,创建临时图像存储空间,根据文件路径对话框所选择的文件创建“.AVI”文件,开启图像抓取,获取当前帧并送图像显示窗口显示,同时将获取的当前帧保存到“.AVI”文件。单击退出按钮,关闭摄像头,关闭“.AVI”文件,清空图像存储空间。连续视频图像采集运行结果如图5所示,通过该方法能够方便地获得连续的视频图像。3图像处理3.1图像压缩由数字化得到的一幅图像的数据量十分巨大,一幅典型的数字图像通常由640×480,1024×768或更高个像素组成。如果是动态图像,则其数据量更大,因而图像压缩对于图像的存储和传输都十分必要。有两类压缩算法,即无损压缩和有损压缩[5]。最常用的无损压缩算法是通过取空间或时间上相邻像素值的差,再进行编码;有损压缩算法大都采用图像变换的方法,例如对图像进行快速傅里叶变换或离散的余弦变换。图像压缩国际标准JPEG和MPEG均属于有损压缩算法,前者用于静态图像,后者用于动态图像。通过设置IMAQAVICreate子VI的视频编码(Com?pressionFilter)方式可实现视频图像压缩。AVI(AudioVideoInterleaved)是微软公司推出的一种视频格式,可以采用不同的编码器进行视频压缩,一般情况下系统都带有一些编码器,只要输入正确的名称即可使用这些编码器进行视频压缩[6]。为了获取解码器名称,使用Lab?VIEW自带的IMAQAVIGetFilterNames子VI实现,如图6所示,获取到的编码器名称如图7所示。图6获取编码器名称程序图7获取到的编码器名称对于采集3min的视频图像,不采用压缩算法文件大小约为2GB;采用MJPEGCompressor压缩算法时文件大小约为400MB;采用DVVideoEncoder压缩算法时文件大小为100MB。可见选择不同的压缩编码算法,得到的压缩比不同。3.2图像处理数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。NI公司的VisionDevelopmentModule结合IMAQVision后,就形成了一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW开发环境中,为图像处理提供了完整的开发功能[7]。这里通过图像灰度处理、图像二值化处理、图像增强简要介绍如何使用Lab?VIEW的VisionDevelopmentModule进行图像处理。3.2.1图像灰度处理将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。利用IMAQExtractSingleColorPlaneVI很容易实现图像的灰度化处理,程序如图8所示。首先为读取的图像文件创建临时图像存储空间,从图像文件中读取图像,一路直接送图像显示窗口,一路经图像类型转换VI,将RGB图像颜色空间转换成HSL图像颜色空间,然后经图像提取VI提取出灰度图像送灰度图像显示。其中用到的参数HSL色彩模式是工业界的一种颜色标准,是通过对色相(H)、饱和度(S)、明度(L)三个颜色变量的变化以及它们相互之间的叠加来得到各式各样的颜色[8]。这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。图像灰度处理结果如图9所示。3.2.2图像二值化处理图像的二值化处理是将图像上各点的灰度置为0或255,这样整个图像将呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。将3.2.1中得到的灰度图像再经过图像阈值处理函数(IMAQThresholdVI)即可得到二值化图像。程序如图10所示,运行结果如图11所示。3.2.3图像增强图像增强指按特定的需要突出一幅图像的某些信息,同时削弱或去除某些不需要信息的处理方法,是图像处理的最基本手段,是各种图像分析与处理时的预处理过程。图像增强的目的是通过对图像灰度作修正,改善图像的视觉效果,提供直观、清晰、适合于分析的图像。LabVIEW通过IMAQBCGLookupVI实现图像的增强,程序见图12。从图像文件中直接读取图像的灰度信息,并显示原图像的灰度图像,将灰度图像送给图像增强函数进行增强处理。图像增强运行结果见图13。4结语NI?IMAQ能够从任一DirectShow成像设备上对图像进行采集,此类设备包括:USB摄像头、网络摄像头、显微镜、扫描仪和诸多消费者级的成像产品。用户可借助NI?IMAQ配置自身设备,利用LabVIEW开发所需的图像采集处理软件,结合NI视觉开发模块,使用者可利用滤波器、二进制形态学、模式匹配和色彩检测等上百种图像处理工具分析图像。除此之外,利用LabVIEW实现的图像采集与处理还可以为工业检测、测量提供极其简便的操作及显示界面,缩减了利用其他编程语言所需的庞大工作量,这不仅降低了编程人员的工作时间,也提高了工业生产的效率并能有效降低其成本。参考文献[1]于子江,娄洪伟,于晓,等.LabVIEW应用于实