基于Labview和USB摄像头的焊缝形貌检测研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Techniques of Automation & Applications | 55

基于Labview 和USB 摄像头的焊缝形貌检测研究*

李 佳,丁红胜

(北京科技大学物理系,北京100083)

摘 要:Labview是图形化编程语言,相对于传统的文本式编程方式,更容易使用和进行程序的后期维护,特别是Labview中具有与视

频信号对接的IMAQ模块。本文基于Labview平台,利用USB摄像头实施焊缝表面形貌的检测,为实际构建焊缝自动检测识别系统提供可靠性思路。

关键词:Labview;IMAQ;USB摄像头;焊缝形貌

中图分类号:TP216+.1 文献标识码:B 文章编号:1003-7241(2011)011-0055-03

The Welding Appearance Detection with

USB Camera based on Labview

LI Jia, DING Hong-sheng

( Department of Physics, University of Science and Technology Beijing, Beijing 100083 China )

Abstract: Labview is a graphic programming language, its characteris is more easily to be used and maintained in later stage

comparing with traditional ones. Especially the IMAQ module, which is used for video signal, is included in Labview.Based on IMAQ and USB camera, the welding apperance detection is carried out. The work can be a feasible and easy method for building a welding appearance automatic detection system.

Key words: labview; IMAQ; USB camera; welding appearance

*基金项目:中央高校基础科研业务费资助,国家自然科学基金资助(编号61072082)收稿日期:2011-08-18

1 引言

Labview是美国国家仪器公司(National InstrumentsCorporation)推出的一款基于图形界面化的编程语言,即G语言。对工程技术人员而言,该软件容易掌握和使用,可大缩短程序开发周期,Labview具有很强的数据采集与处理功能,在实际中使用广泛。该系统中包含图像处理模块,该模块包含NI Vision Builder和IMAQ Vision两部分,其中NI Vision Builder是一个交互式的开发环境,开发人员无需编程,即能快速完成视觉应用系统的模型建立;IMAQ Vision是一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW和Measurement Studio,LabWindows/CVI,Visual C++及

Visual Basic开发环境中,为图像处理提供了完整的开发功能[1-2]。

Labview进行图像处理有两种方式,一种是调用Labview中的MathScript节点,调用Matlab函数库进行混合编程;另一种就是运用IMAQ各种自带函数模块进行图片的截取、滤波、复原及其各种变换和处理[3-4]。调用Matlab函数库进行图像处理更加利于图像处理算法的改进,使用Labview自带函数库更易形成可独立运行的系统。

目前,针对自动焊接和半自动焊接的焊缝表面形貌检测(主要是检测焊缝有无表面裂纹、焊缝宽度、突出母材的高度、是否存在可见缺陷等)大多是基于人工方式[5],本文尝试使用普通USB摄像头和Labview IMAQ模块实施焊缝表面形貌检测,为进一步开发焊缝表面形貌检测系统奠定基础,有助于提高自动焊接和半自动焊接过程中对焊缝质量初步检测和判断的效率和客观性,相对于传统的人工检测焊缝形貌和表面质量,该方法具

56 | T echniques of Automation & Applications

有成本低、高效率、检测结果便于存储并进行离线分析的特点[6]。

2 系统组成与设计

系统包括普通PC机;USB2.0接口的摄像头(天敏(10moons)狙击手UVC-Y CAM),该摄像头采用CMOS作为感光原件,最大分辨率为640×480DPI,最大帧频30FPS,可十倍变焦;步进电机电控移动平台(北京卓立汉光SC3);检测对象为管道焊缝。软件平台为Win-dows XP系统下的LabView 2009主模块和IMAQ图像处理模块。

2.1 图像采集模块设计

Labview进行图像采集需要建立图像采集的内存环境,如果使用NI自带的图像采集卡则可通过图像采集卡定义存储区域,然后进行通信读取图像数据,其中部分驱动程序可通过IVI Class Drivers模块生成,这种方式比自编驱动程序更高效。对于使用USB摄像头的图像采集程序,可利用IMAQ Creat节点来创建图像读取任务,IMAQ Creat节点位于Labview功能模块的Vision andMotion?Vision Utilities子模块中。创建新图像读取任务时,需要对图片进行命名并设置读取图片的格式。如有必要还可设置读取图片的边缘尺寸(Border size)。由于读取的视频是连续的,因此必须对数据进行初始化,方法既可由IMAQdx->IMAQdx Configure Grab实现,也可由更底层的节点IMAQdx Configure Acquisition和IMAQdx Start Acquisition组合完成。初始化之后,利用IMAQdx Grab读取图像数据,此时子节点上的Session in输入 和Session out输出必须与上一节点连接,以确定设备号,如果需要连续读取视频数据并控制采样率,则须利用循环结构。本文使用Programming->Structures中的While Loop节点。针对不同的采样率要求,使用等待下一整数秒子节点作为定时器,并引入数学计算来对采样率进行设置。图像读取后通过显示模块中的Vision->Image Display完成图像显示,通过循环结构外的IMAQdxStop Acqusition完成一次数据的清空,结束一次循环。

2.2 图像处理模块设计

Labview有多种存储格式,本文选定功能模块Visionand Utilities->Files->IMAQ Write File完成图片的读取和保存,图片保存为jpg格式,利用功能模块中Programming->Structures->Flat Sequence Structure来完成图像的保存和读取顺序。

读取图片进行分析和处理时,通过IMAQ Creat节点重新建立图片的缓存,利用IMAQ ReadFile读取显示图片格式,通过功能模块Programming->Graphics&Sound->Graphics Formats子节点读取图片数据。由于采集的图像可能和预设的图像有一定的角度偏差,根据需要可对其进行调整,然后进行后处理。

为了避免覆盖原图像,采用视觉处理模块Visionand Motion->Vision Utilities->IMAQ Copy节点对原始图像进行复制。IMAQ Copy节点有两个输入端,分别为Image Scr和Image Dst,其中Image Scr是原图像输入端,即模板图像,而Image Dst是新建图像的输入端,即目标图像。

完成图像读取后,调用模块Vision and Motion?Vision Utilities?IMAQ Rotato子节点,将图像翻转,调用IMAQ Write File保存图像,并调用图像显示模块下的属性节点Property Node->Paletter Type进行色调错误对比显示和图像输入错误判断。

如果要获得适合处理的图像,有时需要对图像进行放大或者缩小,通常是减少图片的像素。在Labview中有五种方式可实现图片的缩小,其中之一要借助第三方软件,另外四种方式均是通过Labview自带的函数节点来完成。分别为:1、通过Zoom Factor属性节点控制二维图像大小,设置缩放系数后,图片相应缩放对应倍率,整个图片像素减少对应倍率;2、通过编程使用Draw AreaSize属性节点来重置图片控件的尺寸并保持原始分辨率大小,保留原图片样式;3、通过Labview Vision Devel-opment Module来编程改变图片的大小,该方法可以最大限度地保留图片的源格式和数据,也是NI所推荐的;4、通过Pixmap格式图片的转换和数组变换,自己开发新的算法来改变图片格式和大小,主要用于图片格式研究。本文采用了图片属性节点和Labview Vision Develop-ment Module中的节点函数编程两种方法来实现图片缩放。即通过Read JPEG File节点读取JPEG格式的原图片,使用Programming? Graphic&Sound->Draw Flat-tened Pixmap来完成原始图片信息的读取,调用IMAQExtract模块,其节点上有源图输入节点Image Scr,目标图像输入节点Image Scr,X,Y轴放大倍数节点(X,Y StepSize),定义放大左右上下位置的节点矩阵(OptionalRectangle)。

在焊缝图像检测中,为了获得清晰的形貌特征,还可对图像进行灰度变化、边缘检测、角点检测、滤波等方

相关文档
最新文档