CN114155236A - 一种适用于动态测量环境的激光条纹中心线提取方法 - Google Patents
一种适用于动态测量环境的激光条纹中心线提取方法 Download PDFInfo
- Publication number
- CN114155236A CN114155236A CN202111494957.2A CN202111494957A CN114155236A CN 114155236 A CN114155236 A CN 114155236A CN 202111494957 A CN202111494957 A CN 202111494957A CN 114155236 A CN114155236 A CN 114155236A
- Authority
- CN
- China
- Prior art keywords
- laser stripe
- image
- value
- center
- laser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005259 measurement Methods 0.000 title claims abstract description 24
- 238000000605 extraction Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000005457 optimization Methods 0.000 claims abstract description 27
- 230000011218 segmentation Effects 0.000 claims abstract description 22
- 238000001914 filtration Methods 0.000 claims abstract description 20
- 238000012937 correction Methods 0.000 claims abstract description 15
- 238000009499 grossing Methods 0.000 claims abstract description 13
- 230000003044 adaptive effect Effects 0.000 claims abstract description 8
- 238000000926 separation method Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 12
- 230000005484 gravity Effects 0.000 claims description 10
- 230000006740 morphological transformation Effects 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 235000002566 Capsicum Nutrition 0.000 claims description 3
- 239000006002 Pepper Substances 0.000 claims description 3
- 235000016761 Piper aduncum Nutrition 0.000 claims description 3
- 235000017804 Piper guineense Nutrition 0.000 claims description 3
- 235000008184 Piper nigrum Nutrition 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 3
- 230000008439 repair process Effects 0.000 claims description 3
- 150000003839 salts Chemical class 0.000 claims description 3
- 244000203593 Piper nigrum Species 0.000 claims 1
- 230000003287 optical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 241000722363 Piper Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20028—Bilateral filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种适用于动态测量环境的激光条纹中心线提取方法,具体包括以下步骤:首先对动态测量环境下采集的激光条纹图像进行RGB通道分离以及小窗口中值滤波;其次使用自适应裁剪算法分割出红色分量图像中的感兴趣区域(ROI);再次使用改进型伽马校正算法对红色分量图像进行亮度编辑,将红色分量图像转化为灰度直方图具有双峰特点的图像;然后使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并采用二维灰度中心法提取初始激光条纹中心线;最后使用基于Hampel滤波法和均值平滑法的二次优化算法对初始激光条纹中心线进行优化,实现断线修补并对中心线进行平滑,从而精确地提取出激光条纹中心线。
Description
技术领域
本发明属于机器视觉领域,是一种适用于动态测量环境的激光条纹中心线提取方法。
背景技术
在光学非接触式三维测量技术中,线结构光三维测量技术凭借其处理速度快、测量准确度高且方便实现的优势,在工业非接触式测量、三维重建、表面质检等领域获得广泛地应用。线结构光三维测量系统主要包括激光器、工业相机以及计算机等设备,其原理是将激光条纹投射到被测物表面,通过工业相机激光条纹图像后,再使用计算机对采集的图像进行处理获得被测物体轮廓的三维坐标。在采集地激光条纹图像中,激光条纹往往具有十个像素点以上的宽度,只有提取出单像素宽度的激光条纹中心线,才能精确计算被测物体轮廓的三维坐标。因此,在线结构光三维测量中,一个非常重要的图像处理任务就是获取激光条纹中心线在图像中的准确位置。
为便于从激光条纹图像中提取出激光条纹区域,当前常用的方法是在同一位置采集激光投射前后的两幅图像,然后将两幅图像做差分处理,直接去除背景信息,从而得到仅包含激光条纹信息的图像,能够方便地使用图像分割算法提取出激光条纹区域。而对于实际工业应用中处于运动状态的被测物体,往往不能在同一位置同时采集到投射激光的图像和未投射激光的图像,只能采集到单张具有复杂背景信息的投射激光的图像,因此需要对采集到的激光条纹图像作进一步的处理。在实际工业场景下,由于激光器的投射光强不均匀、被测物体表面各位置反光特性差异明显以及被测物体表面起伏较大等因素影响,激光条纹成像可能会出现光带各部分亮度分布不均以及宽度差别大、激光条纹断裂等问题,从而增加了激光条纹中心线提取的难度。
发明内容
发明目的:本发明所要解决的技术问题是提供一种适用于动态测量环境的激光条纹中心线提取方法,该方法能够有效克服动态测量环境下采集的单张激光条纹图像中存在复杂背景信息、光带各部分亮度分布不均以及宽度差别大、激光条纹断裂等问题。
为解决上述技术问题,本发明提供了一种适用于动态环境的激光条纹中心线提取方法,其特征在于,包括以下步骤:
1)采集动态测量环境下的激光条纹图像;
2)对相机采集的尺寸为m×n pixel的原始图像进行RGB通道分离,提取出红色分量图像;
3)对提取出的红色分量图像进行小窗口中值滤波,去除椒盐噪声对后续处理的影响;
4)使用自适应裁剪算法分割出红色分量图像中的ROI;
5)使用改进型伽马校正算法对ROI进行亮度编辑,突出激光条纹区域,将红色分量图像转化为灰度直方图具有双峰特点的图像;
6)使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,通过形态学变换获取激光条纹的掩膜图像;
7)采用二维灰度中心法提取初始激光条纹中心线;
8)使用Hampel滤波法对初始激光条纹中心线进行初次优化,实现断线修补并对中心线进行平滑;
9)使用均值平滑法对初次优化后激光条纹中心线进行二次优化,从而精确地提取出激光条纹中心线。
上述步骤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边界裁剪图像。
上述步骤5)中使用改进型伽马校正算法对红色分量图像进行灰度编辑的具体步骤如下:
51)读取步骤4)中的分割出的ROI;
52)设激光条纹区域中心线附近的灰度阈值为Gth,gamma为改进型伽马校正地校正系数,对ROI中的像素点进行遍历,对灰度值G(i,j)大于阈值Gth的像素点(i,j)不作处理,对灰度值G(i,j)小于等于阈值Gth的像素点(i,j)按公式(1)求其灰度编辑后的灰度值GIGC(i,j)。
上述步骤6)中使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并通过形态学变换获取激光条纹的掩膜图像的具体步骤如下:
61)读取步骤5)中亮度编辑后的灰度图像;
62)统计红色分量图像中每行像素点的灰度直方图,使用Otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合K={k1,k2,k3,…,kn};
63)统计集合K的灰度直方图,使用Otsu算法计算出最佳的分割阈值kth,并且使用kth将K分割为K0={ki|ki≥kth,i∈{1,2,3,…,n}}和K1={ki|ki<kth,i∈{1,2,3,…,n}},分别代表强光条行和弱光条行分割阈值集合;
64)将K1集合中的阈值小于0.4×kth的部分统一重新赋值为0.4×kth,大于0.4×kth的部分统一重新赋值为0.7×kth,按照调整后的阈值分割出红色分量图像中的激光条纹区域,获得二值图像。
65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;
66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组Hi,i为所在行数,i=1,2,3,…n,对于非激光条纹区域的行,记Hi为空数组;
上步骤7)中采用二维灰度中心法提取初始激光条纹中心线的具体步骤如下:
71)读取步骤6)中记录的数组Hi;
72)按照i从小到大的顺序遍历每一个数组Hi;
73)当Hi为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标ai;
式中,Hi为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,ri为Hi中元素的个数,whalf为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2×whalf+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。
74)当Hi为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标ai;
ai=NaN (3)
式中,NaN代表空值。
上述步骤8)中使用Hampel滤波法对初始激光条纹中心线进行初次优化的具体步骤如下:
81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标ai,即第i行激光条纹初始中心线的位置为(i,ai);
82)记Hampel滤波窗口长度为2M+1,令新的第i行激光条纹中心线的位置为(i,bi);
83)在i∈{M+1,M+2,M+3,…,n-M+1}时,以(i,ai)为中心构建长度为2M+1的滤波窗口Ai={ai-M,…,ai-1,ai,ai+1,…,ai+M},并按照公式(4)计算Ai的绝对中位差MADi;
MADi=median(|Ai-median(Ai)|) (4)
84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值di=1.4826×MADi,并根据公式(5)对中心点坐标进行修正,若ai与Ai的中值之差大于2×di,将bi赋值为Ai的中值,若ai与Ai的中值之差不大于2×di,直接将bi赋值为ai;
85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,…M}∪{n-M+1,n-M+2,n-M+3,…,n}时,同样以(i,ai)为中心构建长度为2M+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。
上述步骤9)中使用均值平滑法对初次优化后激光条纹中心线进行二次优化的具体步骤如下:
91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标ai,即初次优化后第i行激光条纹中心线的位置为(i,bi);
92)记均值平滑法的滑动窗口长度为2N+1,令新的第i行激光条纹中心线的位置为(i,ci);
93)当i∈{N+1,N+2,N+3,…,n-N+1}时,以(i,bi)为中心构建长度为2N+1的窗口Bi={bi-N,…,bi-1,bi,bi+1,…,bi+N},并按照公式(6)计算ci;
94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,…N}∪{n-N+1,n-N+2,n-N+3,…,n}时,将ci直接赋值为bi,完成对激光条纹中心线的二次优化。
本发明所达到的有益效果:
本发明提出了一种适用于动态测量环境的激光条纹中心线提取方法,能够对动态测量环境下采集的单张激光条纹图像进行激光条纹中心线提取。使用自适应裁剪算法从红色分量图像中分割出ROI,能够有效提高算法的实时性。使用改进型伽马校正算法对红色分量图像进行亮度编辑,有效克服动态测量环境下采集的激光条纹图像存在复杂背景信息难以分割出激光条纹区域的问题。使用二维灰度中心法提取初始激光条纹中心线,有效地利用了相邻像素行的信息,提高了初始激光条纹中心线提取的可靠性。使用基于Hampel滤波法和均值平滑法的二次优化算法对初始中心线进行优化,完成断线修补的同时实现了对初始中心线的平滑操作。
附图说明
图1适用于动态测量环境的激光条纹中心线提取流程图;
图2基于动态测量环境的单线结构光视觉测量系统示意图;
图3自适应裁剪算法进行裁剪后的灰度图像;
图4改进型伽马校正算法进行亮度编辑后的灰度图像;
图5二维灰度重心法计算出的初始激光条纹中心线;
图6二次优化算法优化后的激光条纹中心线。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种适用于动态测量环境的激光条纹中心线提取方法,包括以下步骤:
1)采集动态测量环境下的激光条纹图像;
2)对相机采集的尺寸为m×n pixel的原始图像进行RGB通道分离,提取出红色分量图像;
3)对提取出的红色分量图像进行小窗口中值滤波,去除椒盐噪声对后续处理的影响;
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边界裁剪图像;
5)使用改进型伽马校正算法对ROI进行亮度编辑,突出激光条纹区域,将红色分量图像转化为灰度直方图具有双峰特点的图像;
51)读取步骤4)中的分割出的ROI;
52)设激光条纹区域中心线附近的灰度阈值为Gth,gamma为改进型伽马校正地校正系数,对ROI中的像素点进行遍历,对灰度值G(i,j)大于阈值Gth的像素点(i,j)不作处理,对灰度值G(i,j)小于等于阈值Gth的像素点(i,j)按公式(1)求其灰度编辑后的灰度值GIGC(i,j)。
6)使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,通过形态学变换获取激光条纹的掩膜图像;
61)读取步骤5)中亮度编辑后的灰度图像;
62)统计红色分量图像中每行像素点的灰度直方图,使用Otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合K={k1,k2,k3,…,kn};
63)统计集合K的灰度直方图,使用Otsu算法计算出最佳的分割阈值kth,并且使用kth将K分割为K0={ki|ki≥kth,i∈{1,2,3,…,n}}和K1={ki|ki<kth,i∈{1,2,3,…,n}},分别代表强光条行和弱光条行分割阈值集合;
64)将K1集合中的阈值小于0.4×kth的部分统一重新赋值为0.4×kth,大于0.4×kth的部分统一重新赋值为0.7×kth,按照调整后的阈值分割出红色分量图像中的激光条纹区域,获得二值图像;
65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;
66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组Hi,i为所在行数,i=1,2,3,…n,对于非激光条纹区域的行,记Hi为空数组;
7)采用二维灰度中心法提取初始激光条纹中心线;
71)读取步骤6)中记录的数组Hi;
72)按照i从小到大的顺序遍历每一个数组Hi;
73)当Hi为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标ai;
式中,Hi为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,ri为Hi中元素的个数,whalf为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2×whalf+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。
74)当Hi为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标ai;
ai=NaN (3)
式中,NaN代表空值。
8)使用Hampel滤波法对初始激光条纹中心线进行初次优化,实现断线修补并对中心线进行平滑;
81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标ai,即第i行激光条纹初始中心线的位置为(i,ai);
82)记Hampel滤波窗口长度为2M+1,令新的第i行激光条纹中心线的位置为(i,bi);
83)在i∈{M+1,M+2,M+3,…,n-M+1}时,以(i,ai)为中心构建长度为2M+1的滤波窗口Ai={ai-M,…,ai-1,ai,ai+1,…,ai+M},并按照公式(4)计算Ai的绝对中位差MADi;
MADi=median(|Ai-median(Ai)|) (4)
84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值di=1.4826×MADi,并根据公式(5)对中心点坐标进行修正,若ai与Ai的中值之差大于2×di,将bi赋值为Ai的中值,若ai与Ai的中值之差不大于2×di,直接将bi赋值为ai;
85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,…M}∪{n-M+1,n-M+2,n-M+3,…,n}时,同样以(i,ai)为中心构建长度为2M+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。
9)使用均值平滑法对初次优化后激光条纹中心线进行二次优化,从而精确地提取出激光条纹中心线;
91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标ai,即初次优化后第i行激光条纹中心线的位置为(i,bi);
92)记均值平滑法的滑动窗口长度为2N+1,令新的第i行激光条纹中心线的位置为(i,ci);
93)当i∈{N+1,N+2,N+3,…,n-N+1}时,以(i,bi)为中心构建长度为2N+1的窗口Bi={bi-N,…,bi-1,bi,bi+1,…,bi+N},并按照公式(6)计算ci;
94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,…N}∪{n-N+1,n-N+2,n-N+3,…,n}时,将ci直接赋值为bi,完成对激光条纹中心线的二次优化。
实施例:
为了验证本发明所提方法的有效性,现基于动态测量环境搭建了单线结构光三维视觉测量系统,系统示意图如图2所示。系统以波长为650nm、功率为100mW、线宽为0.1mm的红色一字线激光器为投射光源;以成像尺寸为1280×720pixel的CMOS工业相机采集激光条纹图像。
设置中值滤波窗口尺寸为5×5,Gth为240,gamma为0.5,whalf为2,M为7,N为5,使用本发明所提的适用于动态测量环境的激光条纹中心线提取方法进行激光条纹中心线提取。
对采集的原始激光条纹图像进行RGB通道分离,提取红色分量图像;使用窗口尺寸为5×5的中值滤波核对提取出的红色分量图像进行中值滤波;使用自适应裁剪算法进行裁剪后的红色分量图像如图3所示。图3所示灰度图像尺寸为720×240pixel,相比于原始激光条纹图像可以在保留激光条纹信息的基础上,大幅缩短后续处理时间。
使用改进型伽马校正算法对红色分量图像进行亮度编辑,将图像转化为灰度直方图具有双峰特点的图像,亮度编辑后红色分量图像如图4所示。相比于亮度编辑前的图像,亮度编辑后图像背景部分被弱化,激光条纹部分与背景部分形成明显的对比,便于后续分割出激光条纹区域。
设置Gth为240,gamma为0.5,使用改进型大津阈值分割算法对灰度编辑后的红色分量图像进行分割,提取出图像中的激光条纹区域,并对分割后得到的二值图像进行形态学运算。根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点的列坐标。
设置whalf为2,使用二维灰度重心法计算出的初始激光条纹中心线如图5所示。如图5虚线框所标识,使用二维灰度重心法提取的初始中心线仍存在较大的波动,且局部存在明显的异常值以及断裂问题。
设置M为7,N为5,使用基于Hampel滤波法和均值平滑法的二次优化算法对初始激光条纹中心线进行优化,优化后的激光条纹中心线如图6所示。相比于初始激光条纹中心线,优化后的中心线更加平滑,且消除了初始中心线存在的局部异常值,同时实现了断线修补,提高了中心线提取的精确度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
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边界裁剪图像。
4.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤6)中使用改进型变阈值大津阈值分割算法分割出红色分量图像中的激光条纹区域,并通过形态学变换获取激光条纹的掩膜图像的具体步骤如下:
61)读取步骤5)中亮度编辑后的灰度图像;
62)统计图像中每行像素点的灰度直方图,使用Otsu算法计算每一行像素点的最佳灰度阈值,记图像共n行像素,可得最佳分割阈值集合K={k1,k2,k3,…,kn};
63)统计集合K的灰度直方图,使用Otsu算法计算出最佳的分割阈值kth,并且使用kth将K分割为K0={ki|ki≥kth,i∈{1,2,3,…,n}}和K1={ki|ki<kth,i∈{1,2,3,…,n}},分别代表强光条行和弱光条行分割阈值集合;
64)将K1集合中的阈值小于0.4×kth的部分统一重新赋值为0.4×kth,大于0.4×kth的部分统一重新赋值为0.7×kth,按照调整后的阈值分割出图像中的激光条纹区域,获得二值图像;
65)对分割后得到的二值图像进行形态学闭运算以及形态学开运算处理,去除较窄的间断和细长的沟壑、消除小的孔洞,并去除分割出的较小的噪声区域;
66)根据列坐标由小到大的顺序,记录激光条纹区域每个横截面的像素点列坐标,记为数组Hi,i为所在行数,i=1,2,3,…n,对于非激光条纹区域的行,记Hi为空数组。
5.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤7)中采用二维灰度中心法提取初始激光条纹中心线的具体步骤如下:
71)读取步骤6)中记录的数组Hi;
72)按照i从小到大的顺序遍历每一个数组Hi;
73)当Hi为非空数组时,按公式(2)计算第i个激光条纹横截面中心列坐标ai;
式中,Hi为激光条纹区域第i个横截面上所有像素点列坐标组成的数组,ri为Hi中元素的个数,whalf为使用二维灰度重心法计算中心坐标时向上下拓展的行数,2×whalf+1为使用二维灰度重心法时的窗口宽度,n为图像的总行数。
74)当Hi为空数组时,按公式(3)计算第i个激光条纹横截面中心列坐标ai;
ai=NaN (3)
式中,NaN代表空值。
6.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤8)中使用Hampel滤波法对初始激光条纹中心线进行初次优化的具体步骤如下:
81)读取步骤7)中使用二维灰度重心法计算出的各激光条纹横截面中心列坐标ai,即第i行激光条纹初始中心线的位置为(i,ai);
82)记Hampel滤波窗口长度为2M+1,令新的第i行激光条纹中心线的位置为(i,bi);
83)在i∈{M+1,M+2,M+3,…,n-M+1}时,以(i,ai)为中心构建长度为2M+1的滤波窗口Ai={ai-M,…,ai-1,ai,ai+1,…,ai+M},并按照公式(4)计算Ai的绝对中位差MADi;
MADi=median(|Ai-median(Ai)|) (4)
84)缩放中位数绝对偏差以获得正态分布标准偏差的估计值di=1.4826×MADi,并根据公式(5)对中心点坐标进行修正,若ai与Ai的中值之差大于2×di,将bi赋值为Ai的中值,若ai与Ai的中值之差不大于2×di,直接将bi赋值为ai;
85)处理步骤83)与步骤84)没有处理到的边界点,在i∈{1,2,3,…M}∪{n-M+1,n-M+2,n-M+3,…,n}时,同样以(i,ai)为中心构建长度为2M+1的滤波窗口,窗口内无值部分补零代替,同样按照步骤83)和步骤84)的计算过程完成对边界点的处理。
7.根据权利要求1中所述的一种适用于动态环境的激光条纹中心线提取方法,其特征在于,所述步骤9)中使用均值平滑法对初次优化后激光条纹中心线进行二次优化的具体步骤如下:
91)读取步骤8)中初次优化后的各激光条纹横截面中心列坐标ai,即初次优化后第i行激光条纹中心线的位置为(i,bi);
92)记均值平滑法的滑动窗口长度为2N+1,令新的第i行激光条纹中心线的位置为(i,ci);
93)当i∈{N+1,N+2,N+3,…,n-N+1}时,以(i,bi)为中心构建长度为2N+1的窗口Bi={bi-N,…,bi-1,bi,bi+1,…,bi+N},并按照公式(6)计算ci;
94)处理步骤93)没有处理到的边界点,在i∈{1,2,3,…N}∪{n-N+1,n-N+2,n-N+3,…,n}时,将ci直接赋值为bi,完成对激光条纹中心线的二次优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494957.2A CN114155236A (zh) | 2021-12-09 | 2021-12-09 | 一种适用于动态测量环境的激光条纹中心线提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494957.2A CN114155236A (zh) | 2021-12-09 | 2021-12-09 | 一种适用于动态测量环境的激光条纹中心线提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114155236A true CN114155236A (zh) | 2022-03-08 |
Family
ID=80454031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111494957.2A Pending CN114155236A (zh) | 2021-12-09 | 2021-12-09 | 一种适用于动态测量环境的激光条纹中心线提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114155236A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115031633A (zh) * | 2022-08-11 | 2022-09-09 | 长春光华微电子设备工程中心有限公司 | 激光划片机的机上检测系统及其检测方法 |
-
2021
- 2021-12-09 CN CN202111494957.2A patent/CN114155236A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115031633A (zh) * | 2022-08-11 | 2022-09-09 | 长春光华微电子设备工程中心有限公司 | 激光划片机的机上检测系统及其检测方法 |
CN115031633B (zh) * | 2022-08-11 | 2022-11-08 | 长春光华微电子设备工程中心有限公司 | 激光划片机的机上检测系统及其检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866924B (zh) | 一种线结构光中心线提取方法及存储介质 | |
CN109636732A (zh) | 一种深度图像的空洞修复方法以及图像处理装置 | |
CN109034017A (zh) | 头部姿态估计方法及机器可读存储介质 | |
CN110414385B (zh) | 一种基于单应性变换和特征窗口的车道线检测方法及系统 | |
CN111354047B (zh) | 一种基于计算机视觉的摄像模组定位方法及系统 | |
WO2022233096A1 (zh) | 一种基于深度视觉的钢坯最优剪切控制方法及装置 | |
CN114972633B (zh) | 交叉激光线约束下的快速扫描点云插值方法 | |
CN110136139B (zh) | 基于形状特征的面部ct图像中的牙神经分割方法 | |
CN114155236A (zh) | 一种适用于动态测量环境的激光条纹中心线提取方法 | |
CN114913074A (zh) | 一种深度网络语义分割的超像素无缝拼接方法及系统 | |
CN109345551B (zh) | 图像外轮廓中凹包络的检测方法、系统及计算机存储介质 | |
Keaomanee et al. | Implementation of four kriging models for depth inpainting | |
CN108764343B (zh) | 一种跟踪算法中的跟踪目标框的定位方法 | |
CN112132884B (zh) | 基于平行激光和语义分割的海参长度测量方法及系统 | |
CN113763279A (zh) | 一种具有矩形框图像的精确校正处理方法 | |
CN113223074A (zh) | 一种水下激光条纹中心提取方法 | |
EP3018626B1 (en) | Apparatus and method for image segmentation | |
CN113780421B (zh) | 基于人工智能的脑部pet影像识别方法 | |
CN111553868B (zh) | 一种基于改进sobel算子的隧道反射率影像滤波方法 | |
CN112052859B (zh) | 一种自由场景下的车牌精准定位方法及装置 | |
CN114708237A (zh) | 一种用于头发健康状况的检测算法 | |
CN114494165A (zh) | 一种基于聚类的光条提取方法及装置 | |
CN110232709B (zh) | 一种变阈值分割的线结构光光条中心提取方法 | |
CN110276260B (zh) | 一种基于深度摄像头的商品检测方法 | |
CN115409954A (zh) | 一种基于orb特征点的稠密点云地图构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |