[Labview经验]机器视觉系列――-Vision-基础知识下集

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

[Labview经验]机器视觉系列——Vision基础知识下集第1章节(下)rolexcellinireplica在上回我们逐一介绍与机器视觉相关的专有名词与周边光学设备,在本回要开始来说明如何使用LabVIEW来截取相机的影像,并正确的显示在人机介面上﹔另外也针对NIVision所提供的影像校正模式进行说明,以及如何利用软体方式来设定相机的属性与触发取像模式。audemarspiguetroyaloakoffshorechronoautoreplica1.2软体截取与显像1.2.1NIMAX影像装置确认在前面一小节介绍了架设整个影像系统所需要的硬体相关设备,现在要来说明如何在NIMAX找到已安装的相机,并且从相机中取得影像。当我们打开NIMAX,在「MySystem--》DevicesandInterfaces--》NI-IMAQdxDevices」下,可找寻已安装成功的相机,点选相机后,按下右边画面的上方「Grab」键可进行连续取像,另外红色框选处可以找到一些关于相机的规格与内部参数设定,画面下方有显示影像的基本参数,包括目前影像大小、缩放比例与像素的颜色值,另外下方的tab表单处可以找到一些关于相机的规格与内部参数设定。replicamiumiutotebags图1.26-在NIMAX下进行取像作业1.2.2IMAQ影像截取模式现在要来练习如何使用LabVIEW来取得相机的影像。如果您过去曾经使用LabVIEW来开发NI相关产品,如DAQ设备等,不难发现LabVIEW在相关套件中都会提供两种开发模式:1.高阶元件(HL);2.低阶元件(LL),同样地在IMAQ套件裡也存在这两种开发模式。高低阶模式并不是将元件区分为高低等级,所谓的高阶元件主要是将资源开启、撷取、关闭全包装成一个ExpressVI,可以帮助使用者快速地完成取像相关的程式设定,就能直接将影像输出到LabVIEW上;而低阶取像元件将功能切割为数个VI,需由使用者自行设定元件才能完成取像动作,好处在于能够让使用者更有弹性的唿叫参数设定,而另一个优点在于,与高阶元件相比,少了反覆建立与关闭资源的动作,可以有效降低系统资源浪费。高阶(HL)取像元件使用步骤安装完LabVIEW的IMAQ套件后,可在BlockDiagram(简称BD)下,按下右键跳出FunctionTemplate后依序往下搜寻「FunctionTemplate--》VisionandMotion--》VisionExpress--》VisionAcquisition」(图1.27),将「VisionAcquisition」元件拉到BD上,会自动启动设定画面。图1.27-VisionAcquisition元件位置A.设定的取像来源(SelectAcquisitionSource)左侧「AcquisitionSourcesforLocalhost」可以检视目前安装在电脑上所有相机名称,选择位于「NI-IMAQdxDevices」的相机「cam0:Balsler…」,为本次取像用的相机,接着可以按下右方连续取像按键,测试相机是否有正常被Initialize并取到像;右下角有提供一些关于相机的基础数值(参考图1.2.2)。图1.28-设定的取像来源B.设定撷取影像操作方式(SelectAcquisitionType)共分成4种类型:取单张影像(SingleAcquisitionwithprocessing)连续取像(ContinuousAcquisitionwithinlineprocess)一次取固定张数影像,边取像边做处理(FiniteAcquisitionwithinlineprocessing)一次取固定张数影像,当所有影像取得完毕后再做处理(FiniteAcquisitionwithpostprocessing)图1.29-设定撷取影像操作方式这个项目我们先选择「连续取像」模式,继续往下设定。C.设定取像参数「ConfigureAcquisitionSettings」可依据环境因素来调整相机的参数达到最佳化,如增益值(Gain)、Gamma、取像模式等,设定过程可以同时按下右上方的「Test」键来观察设定结果,这边我们暂时不做任何需要设定,直接往下一步。图1.30-设定取像参数D.设定是否将影像储存到硬碟(ConfigureImageLoggingSettings)若将「EnableImageLogging」勾选,表示将撷取到的影像储存到下方指定的资料夹位置,并可设定储存的影像格式,值得注意的是,若开启此功能可能因为硬碟存取速度的关係,使得最大取像速度降低。图1.31-设定是否将影像储存到硬碟E.设定影像参数输入与输出「SelectControls/Indicators」可依据应用,开放影像参数供外部控制元件(Control)设定,让该取像用的ExpressVI获得输入与输出的功能,在此我们勾选显示元件(Indicator)中的「ImageNumber」与「FrameRate」,最后按下「Finish」键完成设定。图1.32-设定影像参数输入与输出图1.33-HL取像元件自动产生的程式码图1.34-HL取像元件自动产生的人机介面低阶(LL)取像元件使用步骤操作之前我们先来了解「NI-IMAQ」与「NI-IMAQdx」两者的差异;「NI-IMAQ」一般只能用于NI的影像撷取卡或相机,而「NI-IMAQdx」是可驱动第叁方的相机,如Basler的USB3.0相机,凡是通过影像传输介面协定联盟(如GigE、CameraLink或USB3.0)认证的相机,都可使用「NI-IMAQdx」来驱动。使用低阶取像元件来驱动第叁方相机时,需同时使用到「NI-IMAQdx」与「NI-IMAQ」影像模组;主要是利用「IMAQdx」来撷取相机的影像,然后再利用「IMAQ」创立的影像空间来储存影像,「IMAQ」同时还提供影像处理工具及机器视觉工具,可依据使用者需求来做应用开发。利用LL元件来完成连续取像的功能,操作流程图如下:图1.35-使用IMAQdx与IMAQ取像流程图先在FrontPanel建立一个「IMAQdxSession」与「ImageDisplay」,物件分别位于「ControlTemplate--》Modern--》I/O--》IMAQdxSession」与「ControlsTemplate--》Vision--》ImageDisplay」,最后再放置一个Boolean,名称设为「Stop」。图1.36-ImageDisplay物件放置区域跳到BlockDiagram,分别在「FunctionTemplate--》VisionandMotion--》NI-IMAQdx--》Low-Level」与「FunctionTemplate--》VisionandMotion--》VisionUtilities--》ImageManagement」找到以下几个功能VI:图1.37-IMAQCreate与Dispose物件图1.38-IMAQdx的设定取像物件将这几个功能VI依照操作流程步骤完成,程式码如下:图1.39-LowLevel取像元件程式码步骤说明:1.指定开启相机名称,从「IMAQSession」中选择对应的相机名称2.设定相机取像模式为「连续」,ImageBuffer设为「3」3.开始取像4.任何由外部取得的影像,都需透过IMAQ建立一组记忆体空间来储存,由于取像来源是彩色相机,每一张彩色(RGB)影像需要3*8bit的空间来储存,所以「ImageType」要选择「RGBU32」5.进入While迴圈后,会不断将影像覆盖到记忆体区内,此时将影像接到DisplayImage即可在人机介面观察到影像,直到按下「Stop」或Error产生时才会跳出迴圈6.停止取像7.解除相机设定8.结束指定名称的相机作业9.清空储存影像的记忆体空间最后再转换画面到FP,启动程式后就会开始连续取像,直到有人按下人机上的「Stop」键,停止取像。使用上述两种开发模式都可以成功将相机的影像撷取到LabVIEW,有了这些影像来源(ImageSource)后,就可以再继续往下做影像后处理(ImageProcess)与机器视觉(MachineVision)的应用了。1.2.3影像软体校正确认影像系统能正常取像后,首先要做的是对整个影像系统做校正,为何还要多此一举呢?主要塬因有两点:1.真实世界描述物体的单位可能是吋(inch)或公厘(mm),但在影像系统裡,描述影像的是像素(pixel),这两者之间必须存在一单位转换公式,影像才有办法转换成真实比例,对于尺寸量测或视觉对位类型的应用特别重要。2.前面章节曾提到视觉系统可能因为镜头的失真(Distortion),或者因为相机投射方向与检测物表面非完全垂直,这两种情况都会造成影像变形,需透过影像校正来修正这些变形量。在NIVISION(IMAQ)有提供以下几种校正模型,主要目的在于单位转换与修正变形量:图1.40-NIVISON提供的校正模型1.PointDistanceCalibration:在影像变形量轻微且忽略不计下,利用真实世界两点距离与像素之间做单位转换2.PointCoordinatesCalibration:已知真实世界点位置座标与影像中的像素座标做对应,用来修正非垂直透视投影所产生的变形3.DistortionModel(Grid):利用相机拍摄一张格点校正片的影像,可同时修正镜头失真与非垂直透视投影所造成的失真4.CameraModel(Grid):利用多张格点影像进行相机模型校正,包括焦距、影中心点与影像失真,一般常用于机械手臂定位应用5.Microplanes(Grid):修正在非平整的工作表面所造成的影像失真1.3相机的属性与触发模式设定1.3.1相机属性说明了解如何透过LabVIEW来取得影像后,另外可针对相机的部分属性进行参数的微调,一些常用的参数有:1.AnalogControls•GainAuto:可设定自动或手动增益•Gain(Raw):设定增益值,会直接影响黑跟白的对比,调高Gain值,不仅会强化影像的对比强度,同时也会将杂讯的放大2.ImageFormatControls•ImageFormatControls:若使用的是彩色相机,可将影像设为灰阶(Mono)或彩色格式(Color)﹔若使用的是黑白相机,则只能设定灰阶影像输出3.AcquisitionControls•TriggerMode:开启或关闭触发功能•TriggerSource:可选择软体触发(Software)或者硬体触发(Line)•GenerateSoftwareTrigger:当触发模式设定为Software时,执行相机后,每按一下取一张影像•ExposureAuto:开启/关闭自动曝光,一般都设定为关闭•ExposureMode:可设定固定曝光时间(Timed)模式,或者是脉衝宽度(TriggerWidth)模式,由触发讯号的脉衝持续时间的来决定曝光时间•ExposureTime:设定固定曝光时间,曝光时间越长,画面亮度会有所提升,曝光时间如果拉得太长会产生过曝,如果遇到晃动也容易产生残影1.3.2触发模式说明硬体触发(Line):一般工业相机都会提供数组硬体触发讯号(Line),可以接收来自外部IO卡的讯号,当相机收到触发后,立即撷取一张影像,常使用在高速影像撷取或LineScan的应用。以LineScan为例,利用运动装置逐行对待测物进行线扫描,每一条影像间距需相同,否则会产生影像变形。利用运动装置的编码器与相机的硬体触发做结合,设定编码器的光学尺每移动固定距离就发送一组讯号,当运动装置移动一段距离,相机会立即收到一组触发讯号,接着完成取像动作,这样做法可确保取到的影像间距都相同。图1.41-LineScan的示意图软体触发(Software):在无硬体触发情况下,还是可以利用软体方式模拟触发讯号,例如可在人机介面上设立一颗Boolean按键,若按键的机械模

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功