1.本发明属于机器视觉领域,是一种适用于动态测量环境的激光条纹中心线提取方法。
背景技术:
2.在光学非接触式三维测量技术中,线结构光三维测量技术凭借其处理速度快、测量准确度高且方便实现的优势,在工业非接触式测量、三维重建、表面质检等领域获得广泛地应用。线结构光三维测量系统主要包括激光器、工业相机以及计算机等设备,其原理是将激光条纹投射到被测物表面,通过工业相机激光条纹图像后,再使用计算机对采集的图像进行处理获得被测物体轮廓的三维坐标。在采集地激光条纹图像中,激光条纹往往具有十个像素点以上的宽度,只有提取出单像素宽度的激光条纹中心线,才能精确计算被测物体轮廓的三维坐标。因此,在线结构光三维测量中,一个非常重要的图像处理任务就是获取激光条纹中心线在图像中的准确位置。
3.为便于从激光条纹图像中提取出激光条纹区域,当前常用的方法是在同一位置采集激光投射前后的两幅图像,然后将两幅图像做差分处理,直接去除背景信息,从而得到仅包含激光条纹信息的图像,能够方便地使用图像分割算法提取出激光条纹区域。而对于实际工业应用中处于运动状态的被测物体,往往不能在同一位置同时采集到投射激光的图像和未投射激光的图像,只能采集到单张具有复杂背景信息的投射激光的图像,因此需要对采集到的激光条纹图像作进一步的处理。在实际工业场景下,由于激光器的投射光强不均匀、被测物体表面各位置反光特性差异明显以及被测物体表面起伏较大等因素影响,激光条纹成像可能会出现光带各部分亮度分布不均以及宽度差别大、激光条纹断裂等问题,从而增加了激光条纹中心线提取的难度。
技术实现要素:
4.发明目的:本发明所要解决的技术问题是提供一种适用于动态测量环境的激光条纹中心线提取方法,该方法能够有效克服动态测量环境下采集的单张激光条纹图像中存在复杂背景信息、光带各部分亮度分布不均以及宽度差别大、激光条纹断裂等问题。
5.为解决上述技术问题,本发明提供了一种适用于动态环境的激光条纹中心线提取方法,其特征在于,包括以下步骤:
6.1)采集动态测量环境下的激光条纹图像;
7.2)对相机采集的尺寸为m
×
n pixel的原始图像进行rgb通道分离,提取出红色分量图像;
8.3)对提取出的红色分量图像进行小窗口中值滤波,去除椒盐噪声对后续处理的影响;
9.4)使用自适应裁剪算法分割出红色分量图像中的roi;
10.5)使用改进型伽马校正算法对roi进行亮度编辑,突出激光条纹区域,将红色分量
图像转化为灰度直方图具有双峰特点的图像;
11.6)使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,通过形态学变换获取激光条纹的掩膜图像;
12.7)采用二维灰度中心法提取初始激光条纹中心线;
13.8)使用hampel滤波法对初始激光条纹中心线进行初次优化,实现断线修补并对中心线进行平滑;
14.9)使用均值平滑法对初次优化后激光条纹中心线进行二次优化,从而精确地提取出激光条纹中心线。
15.上述步骤4)中使用自适应裁剪算法分割出roi的具体步骤如下:
16.41)定义w、q两个长度为n的一维数组,w中数据的初始值为无穷大,q中数据的初始值为0;
17.42)对红色分量图像中的像素点进行逐行遍历,将第i行第一次遍历到的灰度值大于250的像素点的列值保存到w[i];
[0018]
43)继续遍历第i行像素点,当再次遍历到灰度值大于250的像素点时,将像素点的列值保存到q[i],重复上述过程来更新q[i],直至完成遍历;
[0019]
44)遍历过程中如果第i行没有灰度值大于250的像素点时,w[i]、q[i]保持初始值不变;
[0020]
45)令数组w中的最小值为w,数组q中的最大值为q,为防止对线结构光条纹区域的过度分割,在当前分割边界的基础上左右扩充30个像素点,以[w-30,q+30]∈[1,m]为roi边界裁剪图像。
[0021]
上述步骤5)中使用改进型伽马校正算法对红色分量图像进行灰度编辑的具体步骤如下:
[0022]
51)读取步骤4)中的分割出的roi;
[0023]
52)设激光条纹区域中心线附近的灰度阈值为g
th
,gamma为改进型伽马校正地校正系数,对roi中的像素点进行遍历,对灰度值g(i,j)大于阈值g
th
的像素点(i,j)不作处理,对灰度值g(i,j)小于等于阈值g
th
的像素点(i,j)按公式(1)求其灰度编辑后的灰度值g
igc
(i,j)。
[0024][0025]
上述步骤6)中使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并通过形态学变换获取激光条纹的掩膜图像的具体步骤如下:
[0026]
61)读取步骤5)中亮度编辑后的灰度图像;
[0027]
62)统计红色分量图像中每行像素点的灰度直方图,使用otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合k={k1,k2,k3,
…
,kn};
[0028]
63)统计集合k的灰度直方图,使用otsu算法计算出最佳的分割阈值k
th
,并且使用k
th
将k分割为k0={ki|ki≥k
th
,i∈{1,2,3,
…
,n}}和k1={ki|ki<k
th
,i∈{1,2,3,
…
,n}},分别代表强光条行和弱光条行分割阈值集合;
[0029]
64)将k1集合中的阈值小于0.4
×kth
的部分统一重新赋值为0.4
×kth
,大于0.4
×kth
的部分统一重新赋值为0.7
×kth
,按照调整后的阈值分割出红色分量图像中的激光条纹区域,获得二值图像。
[0030]
65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;
[0031]
66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组hi,i为所在行数,i=1,2,3,
…
n,对于非激光条纹区域的行,记hi为空数组;
[0032]
上步骤7)中采用二维灰度中心法提取初始激光条纹中心线的具体步骤如下:
[0033]
71)读取步骤6)中记录的数组hi;
[0034]
72)按照i从小到大的顺序遍历每一个数组hi;
[0035]
73)当hi为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标ai;
[0036][0037]
式中,hi为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,ri为hi中元素的个数,w
half
为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2
×whalf
+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。
[0038]
74)当hi为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标ai;
[0039]ai
=nan(3)
[0040]
式中,nan代表空值。
[0041]
上述步骤8)中使用hampel滤波法对初始激光条纹中心线进行初次优化的具体步骤如下:
[0042]
81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标ai,即第i行激光条纹初始中心线的位置为(i,ai);
[0043]
82)记hampel滤波窗口长度为2m+1,令新的第i行激光条纹中心线的位置为(i,bi);
[0044]
83)在i∈{m+1,m+2,m+3,
…
,n-m+1}时,以(i,ai)为中心构建长度为2m+1的滤波窗口ai={a
i-m
,
…
,a
i-1
,ai,a
i+1
,
…
,a
i+m
},并按照公式(4)计算ai的绝对中位差madi;
[0045]
madi=median(|a
i-median(ai)|)(4)
[0046]
84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值di=1.4826
×
madi,并根据公式(5)对中心点坐标进行修正,若ai与ai的中值之差大于2
×di
,将bi赋值为ai的中值,若ai与ai的中值之差不大于2
×di
,直接将bi赋值为ai;
[0047]
[0048]
85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,
…
m}∪{n-m+1,n-m+2,n-m+3,
…
,n}时,同样以(i,ai)为中心构建长度为2m+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。
[0049]
上述步骤9)中使用均值平滑法对初次优化后激光条纹中心线进行二次优化的具体步骤如下:
[0050]
91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标ai,即初次优化后第i行激光条纹中心线的位置为(i,bi);
[0051]
92)记均值平滑法的滑动窗口长度为2n+1,令新的第i行激光条纹中心线的位置为(i,ci);
[0052]
93)当i∈{n+1,n+2,n+3,
…
,n-n+1}时,以(i,bi)为中心构建长度为2n+1的窗口bi={b
i-n
,
…
,b
i-1
,bi,b
i+1
,
…
,b
i+n
},并按照公式(6)计算ci;
[0053][0054]
94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,
…
n}∪{n-n+1,n-n+2,n-n+3,
…
,n}时,将ci直接赋值为bi,完成对激光条纹中心线的二次优化。
[0055]
本发明所达到的有益效果:
[0056]
本发明提出了一种适用于动态测量环境的激光条纹中心线提取方法,能够对动态测量环境下采集的单张激光条纹图像进行激光条纹中心线提取。使用自适应裁剪算法从红色分量图像中分割出roi,能够有效提高算法的实时性。使用改进型伽马校正算法对红色分量图像进行亮度编辑,有效克服动态测量环境下采集的激光条纹图像存在复杂背景信息难以分割出激光条纹区域的问题。使用二维灰度中心法提取初始激光条纹中心线,有效地利用了相邻像素行的信息,提高了初始激光条纹中心线提取的可靠性。使用基于hampel滤波法和均值平滑法的二次优化算法对初始中心线进行优化,完成断线修补的同时实现了对初始中心线的平滑操作。
附图说明
[0057]
图1适用于动态测量环境的激光条纹中心线提取流程图;
[0058]
图2基于动态测量环境的单线结构光视觉测量系统示意图;
[0059]
图3自适应裁剪算法进行裁剪后的灰度图像;
[0060]
图4改进型伽马校正算法进行亮度编辑后的灰度图像;
[0061]
图5二维灰度重心法计算出的初始激光条纹中心线;
[0062]
图6二次优化算法优化后的激光条纹中心线。
具体实施方式
[0063]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0064]
如图1所示,一种适用于动态测量环境的激光条纹中心线提取方法,包括以下步骤:
[0065]
1)采集动态测量环境下的激光条纹图像;
[0066]
2)对相机采集的尺寸为m
×
n pixel的原始图像进行rgb通道分离,提取出红色分量图像;
[0067]
3)对提取出的红色分量图像进行小窗口中值滤波,去除椒盐噪声对后续处理的影响;
[0068]
4)使用自适应裁剪算法分割出红色分量图像中的roi(感兴趣区域);
[0069]
41)定义w、q两个长度为n的一维数组,w中数据的初始值为无穷大,q中数据的初始值为0;
[0070]
42)对红色分量图像中的像素点进行逐行遍历,将第i行第一次遍历到的灰度值大于250的像素点的列值保存到w[i];
[0071]
43)继续遍历第i行像素点,当再次遍历到灰度值大于250的像素点时,将像素点的列值保存到q[i],重复上述过程来更新q[i],直至完成遍历;
[0072]
44)遍历过程中如果第i行没有灰度值大于250的像素点时,w[i]、q[i]保持初始值不变;
[0073]
45)令数组w中的最小值为w,数组q中的最大值为q,为防止对线结构光条纹区域的过度分割,在当前分割边界的基础上左右扩充30个像素点,以[w-30,q+30]∈[1,m]为roi边界裁剪图像;
[0074]
5)使用改进型伽马校正算法对roi进行亮度编辑,突出激光条纹区域,将红色分量图像转化为灰度直方图具有双峰特点的图像;
[0075]
51)读取步骤4)中的分割出的roi;
[0076]
52)设激光条纹区域中心线附近的灰度阈值为g
th
,gamma为改进型伽马校正地校正系数,对roi中的像素点进行遍历,对灰度值g(i,j)大于阈值g
th
的像素点(i,j)不作处理,对灰度值g(i,j)小于等于阈值g
th
的像素点(i,j)按公式(1)求其灰度编辑后的灰度值g
igc
(i,j)。
[0077][0078]
6)使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,通过形态学变换获取激光条纹的掩膜图像;
[0079]
61)读取步骤5)中亮度编辑后的灰度图像;
[0080]
62)统计红色分量图像中每行像素点的灰度直方图,使用otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合k={k1,k2,k3,
…
,kn};
[0081]
63)统计集合k的灰度直方图,使用otsu算法计算出最佳的分割阈值k
th
,并且使用k
th
将k分割为k0={ki|ki≥k
th
,i∈{1,2,3,
…
,n}}和k1={ki|ki<k
th
,i∈{1,2,3,
…
,n}},分别代表强光条行和弱光条行分割阈值集合;
[0082]
64)将k1集合中的阈值小于0.4
×kth
的部分统一重新赋值为0.4
×kth
,大于0.4
×kth
的部分统一重新赋值为0.7
×kth
,按照调整后的阈值分割出红色分量图像中的激光条纹区域,获得二值图像;
[0083]
65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较
窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;
[0084]
66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组hi,i为所在行数,i=1,2,3,
…
n,对于非激光条纹区域的行,记hi为空数组;
[0085]
7)采用二维灰度中心法提取初始激光条纹中心线;
[0086]
71)读取步骤6)中记录的数组hi;
[0087]
72)按照i从小到大的顺序遍历每一个数组hi;
[0088]
73)当hi为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标ai;
[0089][0090]
式中,hi为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,ri为hi中元素的个数,w
half
为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2
×whalf
+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。
[0091]
74)当hi为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标ai;
[0092]ai
=nan(3)
[0093]
式中,nan代表空值。
[0094]
8)使用hampel滤波法对初始激光条纹中心线进行初次优化,实现断线修补并对中心线进行平滑;
[0095]
81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标ai,即第i行激光条纹初始中心线的位置为(i,ai);
[0096]
82)记hampel滤波窗口长度为2m+1,令新的第i行激光条纹中心线的位置为(i,bi);
[0097]
83)在i∈{m+1,m+2,m+3,
…
,n-m+1}时,以(i,ai)为中心构建长度为2m+1的滤波窗口ai={a
i-m
,
…
,a
i-1
,ai,a
i+1
,
…
,a
i+m
},并按照公式(4)计算ai的绝对中位差madi;
[0098]
madi=median(|a
i-median(ai)|)(4)
[0099]
84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值di=1.4826
×
madi,并根据公式(5)对中心点坐标进行修正,若ai与ai的中值之差大于2
×di
,将bi赋值为ai的中值,若ai与ai的中值之差不大于2
×di
,直接将bi赋值为ai;
[0100][0101]
85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,
…
m}∪{n-m+1,n-m+2,n-m+3,
…
,n}时,同样以(i,ai)为中心构建长度为2m+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。
[0102]
9)使用均值平滑法对初次优化后激光条纹中心线进行二次优化,从而精确地提取出激光条纹中心线;
[0103]
91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标ai,即初次优化后第i行激光条纹中心线的位置为(i,bi);
[0104]
92)记均值平滑法的滑动窗口长度为2n+1,令新的第i行激光条纹中心线的位置为(i,ci);
[0105]
93)当i∈{n+1,n+2,n+3,
…
,n-n+1}时,以(i,bi)为中心构建长度为2n+1的窗口bi={b
i-n
,
…
,b
i-1
,bi,b
i+1
,
…
,b
i+n
},并按照公式(6)计算ci;
[0106][0107]
94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,
…
n}∪{n-n+1,n-n+2,n-n+3,
…
,n}时,将ci直接赋值为bi,完成对激光条纹中心线的二次优化。
[0108]
实施例:
[0109]
为了验证本发明所提方法的有效性,现基于动态测量环境搭建了单线结构光三维视觉测量系统,系统示意图如图2所示。系统以波长为650nm、功率为100mw、线宽为0.1mm的红色一字线激光器为投射光源;以成像尺寸为1280
×
720pixel的cmos工业相机采集激光条纹图像。
[0110]
设置中值滤波窗口尺寸为5
×
5,g
th
为240,gamma为0.5,w
half
为2,m为7,n为5,使用本发明所提的适用于动态测量环境的激光条纹中心线提取方法进行激光条纹中心线提取。
[0111]
对采集的原始激光条纹图像进行rgb通道分离,提取红色分量图像;使用窗口尺寸为5
×
5的中值滤波核对提取出的红色分量图像进行中值滤波;使用自适应裁剪算法进行裁剪后的红色分量图像如图3所示。图3所示灰度图像尺寸为720
×
240pixel,相比于原始激光条纹图像可以在保留激光条纹信息的基础上,大幅缩短后续处理时间。
[0112]
使用改进型伽马校正算法对红色分量图像进行亮度编辑,将图像转化为灰度直方图具有双峰特点的图像,亮度编辑后红色分量图像如图4所示。相比于亮度编辑前的图像,亮度编辑后图像背景部分被弱化,激光条纹部分与背景部分形成明显的对比,便于后续分割出激光条纹区域。
[0113]
设置g
th
为240,gamma为0.5,使用改进型大津阈值分割算法对灰度编辑后的红色分量图像进行分割,提取出图像中的激光条纹区域,并对分割后得到的二值图像进行形态学运算。根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点的列坐标。
[0114]
设置w
half
为2,使用二维灰度重心法计算出的初始激光条纹中心线如图5所示。如图5虚线框所标识,使用二维灰度重心法提取的初始中心线仍存在较大的波动,且局部存在明显的异常值以及断裂问题。
[0115]
设置m为7,n为5,使用基于hampel滤波法和均值平滑法的二次优化算法对初始激光条纹中心线进行优化,优化后的激光条纹中心线如图6所示。相比于初始激光条纹中心线,优化后的中心线更加平滑,且消除了初始中心线存在的局部异常值,同时实现了断线修补,提高了中心线提取的精确度。
[0116]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种适用于动态测量环境的激光条纹中心线提取方法,其特征在于,包括以下步骤:1)采集动态测量环境下的激光条纹图像;2)对相机采集的尺寸为m
×
n pixel的原始图像进行rgb通道分离,提取出红色分量图像;3)对提取出的红色分量图像进行小窗口中值滤波,去除椒盐噪声对后续处理的影响;4)使用自适应裁剪算法分割出红色分量图像中的roi;5)使用改进型伽马校正算法对roi进行亮度编辑,突出激光条纹区域,将红色分量图像转化为灰度直方图具有双峰特点的图像;6)使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,通过形态学变换获取激光条纹的掩膜图像;7)采用二维灰度中心法提取初始激光条纹中心线;8)使用hampel滤波法对初始激光条纹中心线进行初次优化,实现断线修补并对中心线进行平滑;9)使用均值平滑法对初次优化后激光条纹中心线进行二次优化,从而精确地提取出激光条纹中心线。2.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤4)中使用自适应裁剪算法分割出roi的具体步骤如下:41)定义w、q两个长度为n的一维数组,w中数据的初始值为无穷大,q中数据的初始值为0;42)对图像中的像素点进行逐行遍历,将第i行第一次遍历到的灰度值大于250的像素点的列值保存到w[i];43)继续遍历第i行像素点,当再次遍历到灰度值大于250的像素点时,将像素点的列值保存到q[i],重复上述过程来更新q[i],直至完成遍历;44)遍历过程中如果第i行没有灰度值大于250的像素点时,w[i]、q[i]保持初始值不变;45)令数组w中的最小值为w,数组q中的最大值为q,为防止对线结构光条纹区域的过度分割,在当前分割边界的基础上左右扩充30个像素点,以[w-30,q+30]∈[1,m]为roi边界裁剪图像。3.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤5)中使用改进型伽马校正算法对红色分量图像进行亮度编辑的具体步骤如下:51)读取步骤4)中的分割出的roi;52)设激光条纹区域中心线附近的灰度阈值为g
th
,gamma为改进型伽马校正地校正系数,对roi中的像素点进行遍历,对灰度值g(i,j)大于阈值g
th
的像素点(i,j)不作处理,对灰度值g(i,j)小于等于阈值g
th
的像素点(i,j)按公式(1)求其灰度编辑后的灰度值g
igc
(i,j);4.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征
在于,所述步骤6)中使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并通过形态学变换获取激光条纹的掩膜图像的具体步骤如下:61)读取步骤5)中亮度编辑后的灰度图像;62)统计图像中每行像素点的灰度直方图,使用otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合k={k1,k2,k3,
…
,k
n
};63)统计集合k的灰度直方图,使用otsu算法计算出最佳的分割阈值k
th
,并且使用k
th
将k分割为k0={k
i
|k
i
≥k
th
,i∈{1,2,3,
…
,n}}和k1={k
i
|k
i
<k
th
,i∈{1,2,3,
…
,n}},分别代表强光条行和弱光条行分割阈值集合;64)将k1集合中的阈值小于0.4
×
k
th
的部分统一重新赋值为0.4
×
k
th
,大于0.4
×
k
th
的部分统一重新赋值为0.7
×
k
th
,按照调整后的阈值分割出图像中的激光条纹区域,获得二值图像;65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组h
i
,i为所在行数,i=1,2,3,
…
n,对于非激光条纹区域的行,记h
i
为空数组。5.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤7)中采用二维灰度中心法提取初始激光条纹中心线的具体步骤如下:71)读取步骤6)中记录的数组h
i
;72)按照i从小到大的顺序遍历每一个数组h
i
;73)当h
i
为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标a
i
;式中,h
i
为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,r
i
为h
i
中元素的个数,w
half
为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2
×
w
half
+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。74)当h
i
为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标a
i
;a
i
=nan(3)式中,nan代表空值。6.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤8)中使用hampel滤波法对初始激光条纹中心线进行初次优化的具体步骤如下:81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标a
i
,即第i行激光条纹初始中心线的位置为(i,a
i
);
82)记hampel滤波窗口长度为2m+1,令新的第i行激光条纹中心线的位置为(i,b
i
);83)在i∈{m+1,m+2,m+3,
…
,n-m+1}时,以(i,a
i
)为中心构建长度为2m+1的滤波窗口a
i
={a
i-m
,
…
,a
i-1
,a
i
,a
i+1
,
…
,a
i+m
},并按照公式(4)计算a
i
的绝对中位差mad
i
;mad
i
=median(|a
i-median(a
i
)|)(4)84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值d
i
=1.4826
×
mad
i
,并根据公式(5)对中心点坐标进行修正,若a
i
与a
i
的中值之差大于2
×
d
i
,将b
i
赋值为a
i
的中值,若a
i
与a
i
的中值之差不大于2
×
d
i
,直接将b
i
赋值为a
i
;85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,
…
m}∪{n-m+1,n-m+2,n-m+3,
…
,n}时,同样以(i,a
i
)为中心构建长度为2m+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。7.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤9)中使用均值平滑法对初次优化后激光条纹中心线进行二次优化的具体步骤如下:91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标a
i
,即初次优化后第i行激光条纹中心线的位置为(i,b
i
);92)记均值平滑法的滑动窗口长度为2n+1,令新的第i行激光条纹中心线的位置为(i,c
i
);93)当i∈{n+1,n+2,n+3,
…
,n-n+1}时,以(i,b
i
)为中心构建长度为2n+1的窗口b
i
={b
i-n
,
…
,b
i-1
,b
i
,b
i+1
,
…
,b
i+n
},并按照公式(6)计算c
i
;94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,
…
n}∪{n-n+1,n-n+2,n-n+3,
…
,n}时,将c
i
直接赋值为b
i
,完成对激光条纹中心线的二次优化。
技术总结
本发明公开了一种适用于动态测量环境的激光条纹中心线提取方法,具体包括以下步骤:首先对动态测量环境下采集的激光条纹图像进行RGB通道分离以及小窗口中值滤波;其次使用自适应裁剪算法分割出红色分量图像中的感兴趣区域(ROI);再次使用改进型伽马校正算法对红色分量图像进行亮度编辑,将红色分量图像转化为灰度直方图具有双峰特点的图像;然后使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并采用二维灰度中心法提取初始激光条纹中心线;最后使用基于Hampel滤波法和均值平滑法的二次优化算法对初始激光条纹中心线进行优化,实现断线修补并对中心线进行平滑,从而精确地提取出激光条纹中心线。中心线。中心线。
技术研发人员:苗红霞 齐本胜
受保护的技术使用者:南京奥特文智能科技有限公司
技术研发日:2021.12.09
技术公布日:2022/3/8