技术频道

基于LabVIEW机器视觉的微小位移动态测量

前言

  测量物体的微小位移在许多方面如数控机床的精确加工等,有广泛的应用。目前测量物体的微小位移已经发展了多种方法:激光位移传感器测量法、电容位移传感器测量法等。本文实现了一种基于LabVIEW机器视觉软件平台和读数显微镜以及USB摄像头测量微小位移的系统。该系统成本低,操作方便,并实现了计算机的实时动态测量。由美国NI公司推出的LabVIEW是目前最流行、应用最广、发展最快和功能最强的图形化数据软件[1-4]。NI公司推出的机器视觉平台是专门的图像处理软件平台。本测量系统采用LabVIEW和机器视觉软件平台编程控制USB摄像头采集读数显微镜的物体图像移动,通过计算机判断物体图像的像素移动来计算物体移动的微小位移。整个实验过程中,图像采集和数据处理都是通过LabVIEW软件编程实现。由于摄像头的帧速为30帧/秒,因此可实现动态测量、÷像o实时显示结果并将数据实时保存。

1 实验原理和思路

  通过读数显微镜的放大作用把物体发生的微小位移放大,利用摄像头拍摄物体放大的图像,用计算机对图像进行二值化处理,通过移动前后图像质心位置像素点的变化可计算出物体位移的变化。图1是实验原理和测量流程图。


图1 微小位移测量实验原理图

  实验思路如下:读数显微镜底座的LED发射出均匀稳定的光,照射到显微镜载物台的玻璃片上。物体的移动牵引显微镜物镜下的细丝产生微小位移,这里,细丝的位移就是物体的位移。显微镜对细丝成一个清晰放大的像,被置于目镜上的USB摄像头采集到图像并将图像传到计算机进行处理。计算机对采集到的图像先进行二值化处理,滤去背景图像的影响,计算出图像质心的位置。通过比较前后图像质心的位置坐标,可计算出质心移动的像素点。实验中通过多次测量,先得出图像单位像素点和物体实际位移的比例系数。实际测量物体的位移时,通过计算出图像质心像素点的变化,再乘以单位像素点的变化与物体实际位移的比例系数,计算出物体的实际位移。

  实验中使用的实验仪器和装置包括:读数显微镜(型号为:JCD-Ⅲ,上海光学仪器厂)。实验中显微镜的目镜×10,物镜×10,对细丝的放大倍数为 100倍。摄像头:普通罗技快看高手版(罗技公司),摄像头的分辩率 320×240,30万像素,拍摄帧速为30帧/秒。细丝为精确加工的黑色细丝,直径约为 。

2 基于LabVIEW和视觉开发平台测量系统的程序设计

  2.1 程序设计的思路

  实验通过采用LabVIEW视觉软件平台编程控制USB摄像头采集显微镜中放大的物体图像。通过对图像进行计算和处理,计算出移动物体图像的质心像素的位置变化来测量物体的微小位移。在LabVIEW的机器编程中,采用编程控制USB摄像头的采集。为了滤去背景图像和噪音的影响,采集到的图像需经过二值化处理。通过设定门限值,将图像像素值高于门限值的设为最高像素值,低于门限值的置零,获得细丝的二值化图像。调用视觉开发平台中的专门模块计算出细丝图像质心的像素位置[5-6],进一步计算出移动前后质心像素位置变化的像素点个数。测量时,通过计算出图像质心移动的像素点个数乘以单位像素点的变化与实际距离的比例系数,求得物体移动的实际距离。

  2.2 测量程序显示界面的设计

  USB 摄像头将被测物体所成像变为数字图像输入计算机,由LabVIEW软件平台调用并显示。考虑到显示的方便,测量程序设为两个界面显示。图2是测量程序的实时同步测量界面。“图像跟踪”实时显示摄像头拍摄到的显微镜成的细丝图像,直观显示图像移动,图中黑色物体为细丝的图像;“结果”和“位移记录”实时显示物体位移变化;点击“开始测量”键,计算机启动摄像头开始测量;点击“复位”键重新测量。考虑到摄像头开始工作时一般都不稳定,设置计算机启动摄像头开始测量后采集到的前15帧图像不予采用。为了方便显示,设置图像采集在蓝色进度条走完之后开始测量。通过这个界面,能够直观观测到物体的图像和位移。


图2 同步测量显示界面

  2.3 测量的LabVIEW程序设计

  在LabVIEW 中,由于将调用函数模块化了,因此调用USB摄像头非常简单。图3是LabVIEW调用USB摄像头采集图像的编程。调用的过程如下:调用摄像头①IMAQ Create.vi —> ②IMAQ USB Grab Setup.vi — > ③IMAQ USB Grab Acquire.vi —>④IMAQ USB Close.vi,该过程为静态拍摄一帧。加上一个循环 ⑥While Loop,通过⑤Wait Until Next ms Multiple控制While Loop每隔多少毫秒触发一次(默认值为 33.3毫秒,也就是每秒三十30帧),输出⑦Image Display。


图3 调用USB摄像头采集图像

  从USB摄像头采集到的图像经过图4进行二值化的编程处理:从①IMAQ USB Grab Acquire.vi输出的图像 ②IMAQ ColorImageToArray,由③Optional Rectangle功能截取采集图像的有效部分并转化为一个32位的二维数组。为了便于确定二值化门限的标度,使用To Unsigned Byte Integer 把32位数组转化为8位数组,通过两次使用④For Loop的循环端口i和⑤⑥Index Array对二维数组进行索引;使用Less Or Equal?和⑦Sel ect对数组的每一个值与预先的门限值进行比较判断,规定大于预先给定门限值为0(亮度最小),否则为255(亮度最大)。经过二值化处理后的数组通过IMAQ ArrayToImage转化为图像显示出来,这样就把采集到的图像变为只有黑白两种颜色。其中,白色代表物体所成的像,黑色为背景图像。


图4 二值化处理图像

  NI公司的机器视觉软件平台是专门为图像处理开发的,有很多专用的软件模块。我们选用了其中计算质心的模块。将图像输入模块,它便能输出图像质心的坐标。按照实验设计思路,我们必须预先测量出图像单位像素点的变化和实际物体移动距离的比例系数,因此选用了读数显微镜。读数显微镜能够精确移动显微镜。物体不动,精确移动显微镜,可读出显微镜的移动距离,同时计算出图像变化的像素点数。将移动距离除以总的像素点数,得到单位像素点的变化与实际物体移动距离的比例系数。

  实验中物体的移动是通过牵引显微镜物镜下的细丝而产生的,因此细丝位移就是物体的位移。为了获得100um的位移,我们将物体放在一个螺旋测微器控制的光学平台上。螺旋测微器总共50个小格,转动一周移动为0.5mm,因此转动一小格为10um。通过调节螺旋测微器,我们获得100um的位移范围。测量时,将采集到的数据实时保存到电脑中,再通过画图软件显示。图5是测量的实验结果。图中的横坐标表示测量的时间,纵坐标表示测量的位移,平直部分是移动螺旋测微器时的停留时间。由于是手旋动螺旋测微器,因此移动的快慢不一致导致出现阶梯状的停顿。


图5实验结果显示,物体移动范围为

3 实验误差分析和改进方法讨论

  测量系统中误差主要来自两个方面:一个是测量系统本身带来的误差,例如物体牵引细丝的运动不同步、实验平台的震动等;另一个重要的误差来源于图像单位像素点的变化和实际物体移动距离的比例系数,如果这个系数有较大的误差,测量结果就不可靠。实验中采用的方法是:细丝不动,精确移动显微镜,读出显微镜的移动距离;计算出细丝图像变化的像素点数,将移动距离除以总的像素点数,得到单位像素点的变化与实际物体移动距离的比例系数。我们将读数显微镜精确移动 100um、150um、200um ,反复多次测量细丝质心像素点的变化点数,同时考虑回程误差,计算出该系数平均值约为2um/像素。因此,测量系统的测量精度是2um。选用更高倍数的显微镜,能够获得更高的测量精度。

4 总结

  本文详细介绍了基于LabVIEW软件和机器视觉平台,利用USB摄像头和读数显微镜建立一个动态测量微小位移的系统。实验过程中的图像采集和数据处理都是通过LabVIEW软件编程实现。通过利用周边通用设备(计算机、读数显微镜、USB摄像头),使得该系统具有精度较高、制造简单、技术要求低、操作方便和移植性强等特点。

  本文创新点:将虚拟仪器技术应用到微小位移测量中,使用LabVIEW机器视觉平台开发设计了基于USB摄像头的微小位移动态测量系统。我们的实验中,动态测量精度达到了2um。

文章版权归西部工控xbgk所有,未经许可不得转载。