一种多结构光条纹亚像素中心提取方法

2014-07-08 02:16贾卫平王邦国
机械工程师 2014年10期
关键词:条纹像素点灰度

贾卫平,王邦国

(大连大学 机械工程学院 特种加工与功能材料制备辽宁省教育厅重点实验室,辽宁 大连116622)

1 引 言

基于视觉的非接触三维测量方法具有成本低、分辨率高的优点,在工程、医疗等行业应用日益广泛。为测量物体尺寸等信息需要获取物体三维轮廓,在待测物体表面投射结构光条的主动视觉法可增加物体表面的特征信息,简化三维信息提取过程。结构光条纹照射在被测物体表面时,由于物体深度的变化使光条被调制,调制光条被标定的CCD 相机拍摄后可获取物体表面的深度信息,进而可根据深度信息计算工件尺寸。因此,基于主动视觉的物体尺寸测量及检测,需要精确提取结构光条纹的中心。

常用的结构光条纹中心提取方法主要有极值法、灰度重心法等[1-3]。这些算法简单,实时性较好,但对噪声敏感,中心提取精度较低。方向模板法使用多个方向模板检测以获取结构光条纹中心的亚像素位置,该方法具有较强的抗噪声能力,有一定的断线修补能力,但计算过程比较复杂[4]。Hessian 矩阵法具有精度高、鲁棒性好等优点,但该算法运算量大,难以满足实时性要求较高的场合[5-6]。

2 结构光图像预处理

物体被投射白光后拍摄的图像如图1(a)所示。由于投射在物体上的光条受到相机噪声等干扰因素的影响存在噪声,为准确检测投射光线的亚像素中心线,要对图像进行预处理。图像预处理采用高斯滤波。针对原始图像的噪声特点,采用高斯滤波器对原始图像进行滤波,高斯滤波后的图像如图1(b)所示。

图1 投射白光后的物体图像

为分析投射在物体上白光条纹的特性,在图中沿竖线所示位置检测其灰度值,竖线从上到下各像素位置对应的灰度值如图2(a)所示,部分光条对应的灰度如图2(b)所示。由图2(b)可知,图像中投影光条的灰度值较大,为消除干扰光线的影响,对灰度值小于一定阈值的像素点灰度置零,阈值处理后的部分光条图像如图2(c)所示,本图像所选用的阈值为23,即:若图像中像素点的灰度值小于23,则将图像中该像素点的灰度置零。

图2 像素位置对应的图像灰度

3 多结构光条纹亚像素中心提取

使用高斯拟合法提取光条亚像素中心时,首先需识别投射光条纹位置;接着根据识别的结构光条纹位置确定光条范围;最后对光条范围内的像素灰度进行曲线拟合,拟合曲线的顶点则为投射光条的亚像素中心。

3.1 投射光条纹位置识别

对于阈值处理后的图像,由于图像中光条部分灰度值大,当图像中光条数目较多时,为确定图像中光条的数目采用逐列搜索的方法。搜索前设定M0为灰度阈值,从第一列开始从上到下进行扫描,若图像中该列的一定位置像素点的灰度值大于M0,且该像素点接下来搜索的p个像素其灰度也大于M0,则该像素点为光条上的点,继续搜索直到像素灰度小于M0为止,则记为1 个光条;继续搜索可得到该列的光条数目n1。按同样方法对图像中各列进行搜索可得到各列的光条数目nm(m=1,2,3,…,r。其中,r 为图像的列数)。根据投射光条的特点可知,在一定列数范围内光条的数目相同且同为最大值,因此可选择这些光条数目最大列中间位置的列作为搜索光条位置的起点列。

使用Canny 算子求图1(b)中光条的边缘,所提取的边缘图像如图3(a)所示,图3(b)为图3(a)局部图像放大效果。以起点列值为起始点,在边缘图像中从上至下搜索。当搜索到第k 行的光条边缘时,则根据图1(b)判断该像素点及向下的若干像素的灰度值是否大于零,若均大于零则判断第k 行为光条的上边缘,并记为W(1)。继续向下搜索,直到W(r)光条为止。

图3 Caany 算子提取的光条边缘图像

搜索得到的图像中光条的边缘点W 如图4(a)所示;接着再以得到的各光条边缘点为起始点,沿着光条边缘左右搜索得到各光条的边缘点集,光条边缘的点如图4(b)所示,光条局部边缘点集的放大图如图4(c)所示。

图4 提取的光条边缘

3.2 亚像素中心提取

提取的结构光条纹的边缘点后,以第1 个光条为例说明结构光纹条亚像素中心提取方法。第t 个光条的边缘点W(t)为起始点,其中,t=1,2,…。在图3(a)的光条边缘图像中,从上向下搜索,直到光条的另一个边缘为止。所得到的光条宽度Wt与设定的阈值Wwide比较,若光带宽度在一定范围内。如设定光条宽度Wt>1.3Wwide,并且Wt<0.7Wwide,则认为是光条;否则为光条的左右边缘位置或干扰噪声,则不再进行光条亚像素中心的计算。Wwide的数值由图4(a)所示的搜索光条边缘起始点时,根据各光条带宽的均值确定。

提取以W(t)为起始点沿竖直方向上光条范围内各像素点的位置及其灰度值,在光条边缘内的像素灰度如图5(a)所示,图中横坐标为像素位置,纵坐标为各像素对应的灰度值。由图5(a)可知在边缘范围内像素的灰度基本符合高斯分布,但其最大灰度值所对应的像素位置坐标为整数。为得到光条的亚像素中心,需对得到的像素灰度进行高斯拟合。

图5 像素位置及灰度值

高斯拟合的数学表达式为

式中:A 为幅值,表示曲线高度;σ 为标准差;u 为均值,即条纹中心;x 为光条上像素原始坐标位置;G(x)为灰度值。

拟合得到的曲线如图5(b)所示,其中,亚像素中心位置如图中竖线与拟合曲线的交点位置,即u 的值;圆圈为各像素对应的位置及其灰度值。得到该边缘位置的光条亚像素中心后,求W(t)点右侧1 个边缘点对应的光条亚像素中心,直到右侧最后1 个光条边缘为止。然后,按上述方法对W(t)点左侧的各边缘点对应的亚像素中心进行计算。按照此方法,可计算所有光条的亚像素中心,所求的亚像素中心如图6 所示。其中,图6(a)为提取的所有光条的亚像素中心,图6(b)为光条亚像素中心局部放大图。由图6(b)可看出所提取的亚像素中心平滑。该方法与Hessian 矩阵法提取的光条亚像素中心进行了比较,可知两种算法的精度差别小于0.18 个像素,能满足结构光亚像素中心提取的需要。

4 结 论

本文提出了一种可用于多结构光条纹亚像素中心提取的方法,该方法能有效识别投射在待测物体上的多结构光条纹的数目,通过先确定的光条边缘信息能精确获取光条的亚像素中心坐标。该方法抗干扰能力较强、精度高,能准确快速地处理得到的多结构光条纹图像。

图6 光条亚像素中心

[1] 吴剑波,崔振,赵宏,等.光刀中心自适应阈值提取法[J].半导体光电,2001,22(1):62-64.

[2] 李中伟,王从军,史玉升.一种结合梯度锐化和重心法的光条中心提取算法[J].中国图象图形学报,2008,13(1):64-68.

[3] 吴庆阳,苏显渝,李景镇,等.一种新的线结构光光带中心提取算法[J].四川大学学报:工程科学版,2007,39(4):151-155.

[4] 胡斌,李德华.基于方向模板的结构光条纹中心检测方法[J].计算机工程与应用,2002(11):59-60.

[5] Steger C.An Unbiased Detector of Curvilinear Structures[J].IEEE Transactions on Pattern Analysis and machine Intelligence.1998,20(2):113-125.

[6] 周富强,陈强,张广军.结构光光条提取的混合图像处理方法[J].光电子·激光,2008,19(11):1534-1537.

猜你喜欢
条纹像素点灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
基于局部相似性的特征匹配筛选算法
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割