1 基于机器视觉的结构光三维扫描系统模型
结构光测量是将激光器发出的光束经过光学系统形成某种形式的光,包括点、单线、多线、单圆、同心多圆、网格、十字交叉、灰度编码图案、颜色编码图案和随机纹理投影等投向景物,在景物上形成特定的图案,并通过图像处理,对图案进行提取,然后根据三角法进行计算,从而得到景物表面的深度信息。根据投射光图案的种类可分为单点法、单线法和图案法。
1.1 系统的硬件结构设计
如图1所示,文中所设计的结构光三维扫描系统由3大部分组成,分别是运动平台、激光器和摄像机。系统的运动平台由导轨丝杠机构成,丝杠上的滑块带动工件左右运动,丝杠由伺服马达驱动。摄像机垂直于导轨运动平面。激光器和摄像机与摄像机呈固定角度安装。激光器所射出的线形光斑垂直于工件的运动方向。激光器与摄像机的相对角度可以调节,调节范围由20~~45。之间。运动平台行程为100 mm,图像分辨率为0.2 mm/pixel。
1.2 系统的数学模型建立
系统的数学模型如图2所示。工件放置于运动平台上,摄像机垂直安装在运动平台正上方,激光与水平面的夹角θ,激光器产生一字的线性结构光,由于物体表面与运动平台的高度差,条形光斑同时照射在物体上的A处和平台的B处。用摄像机获得光斑的图像,经图像采集卡输入至计算机,经过图像处理,可以测量出点A与点B的距离d,根据三角法公式tanθ=H/d,可以通过光斑间距d计算出工件的高度H。因此物坐标和像坐标对应关系为:
其中:xg,yg,zg分别为物坐标;k为像素一毫米转换系数;xi,yi分别为图像坐标。
2 结构光光斑提取的相关理论与方法
从系统的数学模型可知,物体的深度信息H主要受θ和d的影响,而θ主要表现为系统误差。因此,有必要对条纹间距d进行深入研究,以提高系统的精度。其主要包括:图像增强、图像二值化以及图像细化。
2.1 图像增强
图像增强主要增加图像的对比度,突出图像中的高频部分。算法描述为:设原图像的灰度级为x,其最大和最小灰度级分别为xmax和xmin期望图像灰度级的最大和最小值分别为ymax和ymin则与原图像灰度级x相对应的期望灰度级:
式(3)是一个线性函数:参数n是函数的斜率;6是函数在y轴的截距;x表示输入图像的灰度;y表示输出图像的灰度。
2.2 图像二值化
这里所采用的256色的灰度图像,通过选取阈值t,将小于t灰度全设为0,即黑色;将大于t的灰度全部设为255,即白色。这样,目标就从背景中独立出来。采用文献提出的一种基于熵的自动阈值提取方法。一幅图像的直方图可以表示为:
式中:G表示灰度值的总和;g(h)表示图像灰度等级为h的像素个数。一幅具有[O,N一1]灰度值范围图像的直方图的熵可以表示为:
式(6)中,ta。表示图像分割的阈值,则不同阈值范围内的熵可以表示为:
总熵可以表示为。通过求解一组优化的阈值,可以使总熵达到最大。其中:L表示阈值的个数,a—O,1,…,L一1。
2.3 图像细化
图像的细化是一个通过迭代去除目标图像上不影响连通性的轮廓象素点,以得到最终宽度为一个像素的图像骨架的过程。对被处理的图像进行细化有助于突出图像的形状特点和减少冗余的信息量。
3 实验结果与分析
3.1 系统标定
实验通过基于机器视觉结构光三维扫描系统获取扳手三维图像,为获得准确的三维图像,首先采用40 mm的标准块规进行测量,测量结果与误差如表1所示。图3为三维扫描系统的测量软件界面。