CN110706229A - 激光条纹中心的确定方法、装置、电子设备及存储介质 - Google Patents

激光条纹中心的确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110706229A
CN110706229A CN201910991142.1A CN201910991142A CN110706229A CN 110706229 A CN110706229 A CN 110706229A CN 201910991142 A CN201910991142 A CN 201910991142A CN 110706229 A CN110706229 A CN 110706229A
Authority
CN
China
Prior art keywords
laser stripe
laser
points
center
point
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.)
Granted
Application number
CN201910991142.1A
Other languages
English (en)
Other versions
CN110706229B (zh
Inventor
庄晓霖
罗林
谢国经
姚湍竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Bozhilin Robot Co Ltd
Original Assignee
Guangdong Bozhilin Robot Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Bozhilin Robot Co Ltd filed Critical Guangdong Bozhilin Robot Co Ltd
Priority to CN201910991142.1A priority Critical patent/CN110706229B/zh
Publication of CN110706229A publication Critical patent/CN110706229A/zh
Application granted granted Critical
Publication of CN110706229B publication Critical patent/CN110706229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本申请提供一种激光条纹中心的确定方法、装置、电子设备及存储介质,包括:利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,目标处理区域包括至少一个激光条纹段;确定多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值;将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标;根据灰度重心法以及记录的纵坐标计算新的横坐标,其中,计算出的新的横坐标与记录的纵坐标组成新的激光条纹中心点。通过灰度重心法计算得到的横坐标与记录的纵坐标组成新的激光条纹中心点代替原先舍去的激光条纹中心点,可以较好地实现对激光条纹中心进行检测。

Description

激光条纹中心的确定方法、装置、电子设备及存储介质
技术领域
本申请涉及机器视觉领域,具体而言,涉及一种激光条纹中心的确定方法、装置、电子设备及存储介质。
背景技术
利用激光对物体进行测量时,由于被测物体表面的材质不同,环境光线的影响,以及激光强度的差异等,图像中提取出来的激光条纹具有多样性。同时,照射在物体表面的激光具有一定的宽度,为了能够获取激光的精确位置,需要对激光条纹的中心线进行提取。
传统的激光条纹中心线提取算法有极值法、阈值法、几何中心法、边缘法等,这些算法处理速度快,算法简单,但精度较低;Steger算法精度虽高,但无法准确获取激光条纹的端点位置。实际应用中被测物体通常存在的高度差会把一段激光条纹分割成多个激光段,使得激光的端点位置增多。
发明内容
本申请实施例的目的在于提供一种激光条纹中心的确定方法、装置、电子设备及存储介质,用以改善现有技术中无法较好地对激光条纹中心进行检测的问题。
第一方面,本申请实施例提供了一种激光条纹中心的确定方法,用于对激光条纹图像进行处理,所述激光条纹图像为利用激光线照射被测目标物获得的激光条纹的图像,所述激光条纹包括至少一个激光条纹段,所述方法包括:利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段;确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值;将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标;根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,所述计算出的新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
在上述的实施方式中,通过灰度重心法计算得到的横坐标与记录的纵坐标组成新的激光条纹中心点代替原先舍去的激光条纹中心点,可以较好地实现对激光条纹中心进行检测。
在一个可能的设计中,在所述根据灰度重心法以及所述记录的纵坐标计算新的横坐标之后,所述方法还包括:对连续的多个激光条纹中心点进行回归计算,得到回归方程;将多个激光条纹中心点中的每个激光条纹中心点的纵坐标输入到所述回归方程得到对应的横坐标拟合值;以所述横坐标拟合值替换原先的激光条纹中心点的横坐标值,得到新的激光条纹中心点。
在上述的实施方式中,在利用灰度重心法计算新的横坐标,并且利用新的横坐标与记录的纵坐标组成新的激光条纹中心点之后,继续对多个激光条纹中心点进行回归计算,得到回归方程;然后利用回归方程对激光条纹中心点进行修正,得到新的激光条纹中心点,使得对中心点的提取更加准确。
在一个可能的设计中,在所述利用Steger算法对所述目标处理区域进行处理,获得多个激光条纹中心点之前,所述方法还包括:提取至少一个激光条纹段中的每个激光条纹段的轮廓,获取每个激光条纹段的轮廓的外接包围矩;根据所述外接包围矩,获取所述激光条纹段的激光线宽;根据所述激光线宽,对所述外接包围矩在长度方向和宽度方向进行扩充,扩充后的外接包围矩为目标处理区域。
在上述的实施方式中,由于需要对激光条纹段的外接包围矩进行高斯滤波,而高斯滤波后获得的图像会比高斯滤波器前的图像膨胀很多,因此先根据激光线宽对外接包围矩在长度方向和宽度方向进行扩充,可以减小扩充后的图像与高斯滤波后的图像之间的图像体积差距,使得外接包围矩的图像被高斯滤波后依然可以全部完整地呈现在画面中。
在一个可能的设计中,所述根据所述外接包围矩,获取所述激光条纹段的激光线宽,包括:从所述外接包围矩中的每一行像素点中,分别获取像素值超过预设像素值的第一像素点;判断每一行像素点中,第一像素点的个数是否超过预设阈值;若是,将所述第一像素点的个数累加到有效激光点数,将有效行的行数加一;获取最终的有效激光点数和有效行的总行数,并根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽。
在上述的实施方式中,通过上述的激光线宽计算方法可以把激光条纹段中的断点舍去,对舍去断点后的激光条纹段再计算线宽,提高了计算激光线宽的准确性。
在一个可能的设计中,所述根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽,包括:根据计算激光线宽Lw,其中,Sw为最终的有效激光点数,c为有效行的总行数。
在一个可能的设计中,所述利用Steger算法对所述目标处理区域进行处理,获得多个激光条纹中心点,包括:对所述目标处理区域进行高斯滤波,获得高斯滤波后的图像;对高斯滤波后的图像中的每一像素点进行卷积处理,获得所述每一像素点的Hessian矩阵;根据所述每一像素点的Hessian矩阵的最大特征值对应的特征向量,得到对应点在法向方向的单位向量;对所述每一像素点均沿法向方向进行二阶泰勒展开,获得所述每一像素点的单位向量的偏移量;若所述单位向量的偏移量与所述单位向量的乘积未满足预设范围,则舍去所述单位向量对应的像素点;若所述单位向量的偏移量与所述单位向量的乘积满足预设范围,根据所述单位向量的偏移量与所述单位向量,计算表征激光条纹中心点的亚像素值。
在上述的实施方式中,可以先通过Steger算法得到亚像素级别的激光条纹中心点的初步值,然后再对得到的激光条纹中心点进行进一步地修正和筛选,从而得到更准确的激光条纹中心点。
在一个可能的设计中,所述根据灰度重心法以及所述记录的纵坐标计算新的横坐标,包括:根据公式
Figure BDA0002238018260000041
计算横坐标x,其中,g(i,y)为像素点(i,y)的灰度值,i为图像中像素点的第i列,y为图像中像素点的第y行,n为图像的总列数。
第二方面,本申请实施例提供了一种激光条纹中心的确定装置,用于对激光条纹图像进行处理,所述激光条纹图像为利用激光线照射被测目标物获得的激光条纹的图像,所述激光条纹包括至少一个激光条纹段,所述装置包括:Steger算法运行模块,用于利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段;斜率计算模块,用于确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值;坐标记录模块,用于将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标;坐标计算模块,用于根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,所述计算出的新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
在一个可能的设计中,所述装置还包括:回归方程计算模块,用于对连续的多个激光条纹中心点进行回归计算,得到回归方程;坐标拟合模块,用于将多个激光条纹中心点中的每个激光条纹中心点的纵坐标输入到所述回归方程得到对应的横坐标拟合值;坐标替换模块,用于以所述横坐标拟合值替换原先的激光条纹中心点的横坐标值,得到新的激光条纹中心点。
在一个可能的设计中,所述装置还包括:外接包围矩获取模块,用于提取至少一个激光条纹段中的每个激光条纹段的轮廓,获取每个激光条纹段的轮廓的外接包围矩;线宽获取模块,用于根据所述外接包围矩,获取所述激光条纹段的激光线宽;区域扩充模块,用于根据所述激光线宽,对所述外接包围矩在长度方向和宽度方向进行扩充,扩充后的外接包围矩为目标处理区域。
在一个可能的设计中,所述线宽获取模块具体用于从所述外接包围矩中的每一行像素点中,分别获取像素值超过预设像素值的第一像素点;判断每一行像素点中,第一像素点的个数是否超过预设阈值;若是,将所述第一像素点的个数累加到有效激光点数,将有效行的行数加一;获取最终的有效激光点数和有效行的总行数,并根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽。
在一个可能的设计中,所述线宽获取模块具体用于根据
Figure BDA0002238018260000051
计算激光线宽Lw,其中,Sw为最终的有效激光点数,c为有效行的总行数。
在一个可能的设计中,Steger算法运行模块,具体用于对所述目标处理区域进行高斯滤波,获得高斯滤波后的图像;对高斯滤波后的图像中的每一像素点进行卷积处理,获得所述每一像素点的Hessian矩阵;根据所述每一像素点的Hessian矩阵的最大特征值对应的特征向量,得到对应点在法向方向的单位向量;对所述每一像素点均沿法向方向进行二阶泰勒展开,获得所述每一像素点的单位向量的偏移量;若所述单位向量的偏移量与所述单位向量的乘积未满足预设范围,则舍去所述单位向量对应的像素点;若所述单位向量的偏移量与所述单位向量的乘积满足预设范围,根据所述单位向量的偏移量与所述单位向量,计算表征激光条纹中心点的亚像素值。
在一个可能的设计中,坐标计算模块,具体用于根据公式
Figure BDA0002238018260000061
计算横坐标x,其中,g(i,y)为像素点(i,y)的灰度值,i为图像中像素点的第i列,y为图像中像素点的第y行,n为图像的总列数。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的激光条纹中心的确定方法的流程示意图;
图2为本申请实施例提供的激光条纹中心的确定方法的部分步骤的流程示意图;
图3为本申请实施例提供的激光条纹中心的确定方法的部分步骤的流程示意图;
图4示出了图3中步骤S102的具体步骤的流程示意图;
图5示出了图1中步骤S110的具体步骤的流程示意图;
图6为本申请实施例提供的激光条纹中心的确定装置的结构示意图;
图7a示出了将外接包围矩扩充成目标处理区域,且未进行高斯滤波的图像;
图7b示出了对目标处理区域进行高斯滤波后的图像;
图8a为利用K最近邻分类算法处理过后的部分图像的示意图;
图8b为利用K最近邻分类算法处理过后的部分图像的示意图;
图9a为进行过Steger算法处理而未进行灰度重心法处理获得的图像示意图;
图9b为进行过Steger算法处理、灰度重心法处理而未进行过K最近邻分类算法处理获得的图像示意图;
图9c为进行过Steger算法处理、灰度重心法处理以及K最近邻分类算法处理获得的图像示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1为本申请实施例提供的激光条纹中心的确定方法的一种具体实施方式的流程示意图,被申请实施例提供的方法可以应用在建筑行业例如墙板安装、地砖铺贴等典型应用场景,被测物体可以为相邻的墙板或相邻的地砖。该方法可以由电子设备来执行,该电子设备可以是服务器,也可以是用户终端,该方法具体包括如下步骤S110至步骤S140:
步骤S110,利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段。
可选地,目标处理区域可以为至少一个激光条纹段,也可以为包括激光条纹段在内的更大的区域;例如,可以先计算出激光条纹段的激光线宽,然后对激光条纹段在长度方向和宽度方向均扩充若干个激光线宽的距离,扩充后的激光条纹段可以作为目标处理区域。
由于被测物体通常存在高度差,因此激光条纹会被高度差分割成多个激光条纹段。因此,在计算激光条纹段的激光线宽时,可以针对多个激光条纹段分别进行计算激光线宽;也可以计算多个激光条纹段中其中一个激光条纹段的激光线宽,并将该激光线宽作为全部激光条纹段的激光线宽。
步骤S120,确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值。
相邻两个激光条纹中心点的斜率之差可以为相邻两个激光条纹中心点的法向量的斜率之差。在确定出多个激光条纹中心点之后,可以获得多个激光条纹中心点中的每个激光条纹中心点的法向量的斜率。然后再计算相邻两个激光条纹中心点之间的斜率的差值,并将该差值与预设差异值进行比较,若差值大于预设差异值,则表明相邻的两个激光条纹中心点中至少存在一个是偏离了激光条纹的中心的。预设差异值可以为0.1,也可以为其他的数值,预设差异值的具体数值不应该理解为是对本申请的限制。
步骤S130,将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标。
可选地,可以将斜率之差大于预设差异值的相邻两个激光条纹中心点中纵坐标值较小的激光条纹中心点舍去,也可以将纵坐标值较大的激光条纹中心点舍去,舍去的具体激光条纹中心点的位置不应该理解为是对本申请的限制。请参见图8a,横坐标为图8a中x轴方向所示,纵坐标为图8a中y轴方向所示。
步骤S140,根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,所述计算出的新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
步骤S140具体包括根据公式
Figure BDA0002238018260000091
计算横坐标x,其中,g(i,y)为像素点(i,y)的灰度值,i为图像中像素点的第i列,y为图像中像素点的第y行,n为图像的总列数。
请参见图9a和图9b,可明显看出,在进行过灰度重心法处理的图9b与未进行过灰度重心法处理的图9a相比,图示端点处的激光条纹明显变窄。
可以先利用Steger算法得到激光条纹段的多个激光条纹中心点,然后求多个激光条纹中心点中相邻两个激光条纹中心点的斜率之差,若斜率之差大于预设差异值,表明两个激光条纹中心点中至少有一个是误差较大的点。因此,可将两个激光条纹中心点中的一个舍去,并根据灰度重心法以及舍去的激光条纹中心点的纵坐标重新计算其横坐标。通过灰度重心法计算得到的横坐标与记录的纵坐标组成新的激光条纹中心点代替原先舍去的激光条纹中心点,可以较好地实现对激光条纹中心进行检测。
请参见图2,在步骤S140之后,所述方法还可以包括如下步骤S150至步骤S170:
步骤S150,对连续的多个激光条纹中心点进行回归计算,得到回归方程。
可选地,可以利用K最近邻(k-Nearest Neighbor,简称KNN)分类算法对连续的多个激光条纹中心点进行回归计算,可通过以y为自变量,x为因变量拟合出回归方程。
步骤S160,将多个激光条纹中心点中的每个激光条纹中心点的纵坐标输入到所述回归方程得到对应的横坐标拟合值。
在拟合出回归方程之后,可以把多个激光条纹中心点中的每个激光条纹中心点均带入回归方程中,计算横坐标拟合值。
步骤S170,以所述横坐标拟合值替换原先的激光条纹中心点的横坐标值,得到新的激光条纹中心点。
请参见图8a和图8b。图8a和图8b的图示的纵向中有多个按固定间隔排列的激光条纹中心点,图8a和图8b中分别示出的激光条纹中心点中左侧的亮度较大的为未经KNN分类算法处理过的,右侧的亮度较小的为经过KNN分类算法处理过的而拟合得到的激光条纹中心点。从图9b和图9c的对比可以明显看出,经KNN分类算法处理过的激光条纹更加平整,且宽度一致。
在利用灰度重心法计算新的横坐标,并且利用新的横坐标与记录的纵坐标组成新的激光条纹中心点之后,继续对多个激光条纹中心点进行回归计算,得到回归方程;然后利用回归方程对激光条纹中心点进行修正,得到新的激光条纹中心点,使得对中心点的提取更加准确。本申请实施例提供的激光条纹中心的确定方法能够获得亚像素精度的像素点,实现建筑行业上的测量要求。
请参见图3,在步骤S110之前,本申请实施例提供的激光条纹中心的确定方法还包括如下步骤S101至步骤S103:
步骤S101,提取至少一个激光条纹段中的每个激光条纹段的轮廓,获取每个激光条纹段的轮廓的外接包围矩。
激光条纹段的轮廓的外接包围矩为激光条纹段的边缘围一圈组成的矩形。可选地,在步骤S101之前,还可以先利用自适应阈值的方法对每个激光条纹段进行二值化处理。
步骤S102,根据所述外接包围矩,获取所述激光条纹段的激光线宽。
在计算激光条纹段的激光线宽时,可以分别对每个激光条纹段进行计算,然后获得每个激光条纹段的激光线宽;也可以对多个激光条纹段中的一个计算激光线宽,然后将该激光线宽应用到多个激光条纹段。
根据外界包围矩计算激光线宽的具体步骤,将在下文中进行详细说明。
步骤S103,根据所述激光线宽,对所述外接包围矩在长度方向和宽度方向进行扩充,扩充后的外接包围矩为目标处理区域。
可选地,可以对外界包围矩在长度方向和宽度方向均扩充若干个激光线宽的长度,然后把扩充后的外接包围矩作为目标处理区域。例如,可以按外接包围矩的重心作为中心沿长和宽的方向各扩充两个激光线宽的长度。
由于需要对激光条纹段的外接包围矩进行高斯滤波,而高斯滤波后获得的图像会比高斯滤波器前的图像膨胀很多,因此先根据激光线宽对外接包围矩在长度方向和宽度方向进行扩充,可以减小扩充后的图像与高斯滤波后的图像之间的图像体积差距,使得外接包围矩的图像被高斯滤波后依然可以全部完整地呈现在画面中。
请参见图4,图4示出了步骤S102的具体步骤的流程示意图,具体包括如下步骤S1021至步骤S1024:
步骤S1021,从所述外接包围矩中的每一行像素点中,分别获取像素值超过预设像素值的第一像素点。
步骤S1022,判断每一行像素点中,第一像素点的个数是否超过预设阈值,若是,执行步骤S1023。
第一像素点为像素值超过预设像素值的像素点。对于外接包围矩中的每一行像素点,均获取像素值超过预设像素值的第一像素点的个数。预设像素值为预先设置的像素阈值,可选地,若激光条纹图像在之前的步骤中进行过二值化处理,则具体可以获取每一行像素点中像素值为255的第一像素点的个数。
预设阈值为衡量激光条纹段是否断行的临界值,超过预设阈值则表明激光条纹段未在该行像素点被分隔,则执行步骤S1023;若未超过预设阈值,则表明激光条纹段在该行像素点被分隔。预设阈值具体可以为3,也可以为其他数值例如5,预设阈值的具体数值不应该理解为是对本申请的限制。
步骤S1023,将所述第一像素点的个数累加到有效激光点数,将有效行的行数加一。
激光条纹段未在该行像素点被分隔,则该行以及该行的第一像素点均可以作为计算激光线宽的一部分。因此,把第一像素点的个数累加到有效激光点数,把有效行的行数加一。
步骤S1024,获取最终的有效激光点数和有效行的总行数,并根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽。
步骤S1024具体包括:根据
Figure BDA0002238018260000121
计算激光线宽Lw,其中,Sw为最终的有效激光点数,c为有效行的总行数。
在计算激光条纹段的线宽时,可以对外接包围矩中的每一行像素点均进行如下处理:获取像素值超过预设像素值的第一像素点的个数,然后判断第一像素点的个数是否超过预设阈值,若是,则把第一像素点的个数累加到有效激光点数中,并对有效行的总行数进行累加,然后再利用有效激光点数和有效行的总行数来计算激光线宽,通过上述的激光线宽计算方法可以把激光条纹段中的断点舍去,对舍去断点后的激光条纹段再计算线宽,提高了计算激光线宽的准确性。
请参见图5,图5示出了步骤S110的具体步骤,具体包括如下步骤S111至步骤S116:
步骤S111,对所述目标处理区域进行高斯滤波,获得高斯滤波后的图像。
请参见图7a和图7b,图7a示出了将外接包围矩扩充成目标处理区域,且未进行高斯滤波的图像,图7b示出了对目标处理区域进行高斯滤波后的图像。高斯核尺度满足其中,σ为高斯核尺度,Lw为激光线宽。
步骤S112,对高斯滤波后的图像中的每一像素点进行卷积处理,获得所述每一像素点的Hessian矩阵。
对高斯滤波后的图像分别进行卷积操作,求取图像中每个像素点的一阶偏导数和二阶偏导数。其中,对x方向求一阶偏导数的卷积核cx
Figure BDA0002238018260000132
对y方向求一阶偏导数的卷积核cy
Figure BDA0002238018260000133
对x方向求二阶偏导数的卷积核cxx为[1,-2,1],对y方向求二阶偏导数cyy的卷积核为[1,-2,1]T,先对x方向再对y方向求二阶偏导数cxy的卷积核为
Figure BDA0002238018260000134
先对y方向再对x方向求二阶偏导数cyx的卷积核为
利用公式:获得每一像素点的Hessian矩阵,其中,G(x,y)为高斯滤波后的图像,Gxx,Gxy,Gyx,Gyy分别为图像中的点(x,y)在不同方向上的二阶偏导数,H(x,y)为点(x,y)处的Hessian矩阵。
步骤S113,根据所述每一像素点的Hessian矩阵的最大特征值对应的特征向量,得到对应点在法向方向的单位向量。
为了便于描述,接下来不妨以点(x,y)为例继续进行说明:设点(x,y)的法向方向的单位向量为n=(nx,ny),该法向方向的单位向量由该点的Hessian矩阵的最大特征值对应的特征向量得出。
步骤S114,对所述每一像素点均沿法向方向进行二阶泰勒展开,获得所述每一像素点的单位向量的偏移量。
对点(x,y)沿法向方向n进行二阶泰勒展开,由
Figure BDA0002238018260000141
得到:
Figure BDA0002238018260000142
其中,t为像素点的单位向量的偏移量。
步骤S115,若所述单位向量的偏移量与所述单位向量的乘积未满足预设范围,则舍去所述单位向量对应的像素点。
如果不满足
Figure BDA0002238018260000143
则舍去该单位向量对应的像素点。
步骤S116,若所述单位向量的偏移量与所述单位向量的乘积满足预设范围,根据所述单位向量的偏移量与所述单位向量,计算表征激光条纹中心点的亚像素值。
如果满足
Figure BDA0002238018260000144
则激光条纹中心点的亚像素值为p(x,y)=(x+tnx,y+tny)。
请参见图6,图6示出了本申请实施例提供的激光条纹中心的确定装置,所述装置600包括:
Steger算法运行模块610,用于利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段。
斜率计算模块620,用于确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值。
坐标记录模块630,用于将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标。
坐标计算模块640,用于根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,所述计算出的新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
Steger算法运行模块110,具体用于对所述目标处理区域进行高斯滤波,获得高斯滤波后的图像;对高斯滤波后的图像中的每一像素点进行卷积处理,获得所述每一像素点的Hessian矩阵;根据所述每一像素点的Hessian矩阵的最大特征值对应的特征向量,得到对应点在法向方向的单位向量;对所述每一像素点均沿法向方向进行二阶泰勒展开,获得所述每一像素点的单位向量的偏移量;若所述单位向量的偏移量与所述单位向量的乘积未满足预设范围,则舍去所述单位向量对应的像素点;若所述单位向量的偏移量与所述单位向量的乘积满足预设范围,根据所述单位向量的偏移量与所述单位向量,计算表征激光条纹中心点的亚像素值。
坐标计算模块640,具体用于根据公式
Figure BDA0002238018260000151
计算横坐标x,其中,g(i,y)为像素点(i,y)的灰度值,i为图像中像素点的第i列,y为图像中像素点的第y行,n为图像的总列数。
所述装置还包括:
回归方程计算模块,用于对连续的多个激光条纹中心点进行回归计算,得到回归方程。
坐标拟合模块,用于将多个激光条纹中心点中的每个激光条纹中心点的纵坐标输入到所述回归方程得到对应的横坐标拟合值。
坐标替换模块,用于以所述横坐标拟合值替换原先的激光条纹中心点的横坐标值,得到新的激光条纹中心点。
外接包围矩获取模块,用于提取至少一个激光条纹段中的每个激光条纹段的轮廓,获取每个激光条纹段的轮廓的外接包围矩。
线宽获取模块,用于根据所述外接包围矩,获取所述激光条纹段的激光线宽。
区域扩充模块,用于根据所述激光线宽,对所述外接包围矩在长度方向和宽度方向进行扩充,扩充后的外接包围矩为目标处理区域。
所述线宽获取模块具体用于从所述外接包围矩中的每一行像素点中,分别获取像素值超过预设像素值的第一像素点;判断每一行像素点中,第一像素点的个数是否超过预设阈值;若是,将所述第一像素点的个数累加到有效激光点数,将有效行的行数加一;获取最终的有效激光点数和有效行的总行数,并根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽。
线宽获取模块具体用于根据
Figure BDA0002238018260000161
计算激光线宽Lw,其中,Sw为最终的有效激光点数,c为有效行的总行数。
本申请还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种激光条纹中心的确定方法,其特征在于,用于对激光条纹图像进行处理,所述激光条纹图像为利用激光线照射被测目标物获得的激光条纹的图像,所述激光条纹包括至少一个激光条纹段,所述方法包括:
利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段;
确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值;
将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标;
根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,计算出的所述新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
2.根据权利要求1所述的方法,其特征在于,在所述根据灰度重心法以及所述记录的纵坐标计算新的横坐标之后,所述方法还包括:
对连续的多个激光条纹中心点进行回归计算,得到回归方程;
将多个激光条纹中心点中的每个激光条纹中心点的纵坐标输入到所述回归方程得到对应的横坐标拟合值;
以所述横坐标拟合值替换原先的激光条纹中心点的横坐标值,得到新的激光条纹中心点。
3.根据权利要求1所述的方法,其特征在于,在所述利用Steger算法对所述目标处理区域进行处理,获得多个激光条纹中心点之前,所述方法还包括:
提取至少一个激光条纹段中的每个激光条纹段的轮廓,获取每个激光条纹段的轮廓的外接包围矩;
根据所述外接包围矩,获取所述激光条纹段的激光线宽;
根据所述激光线宽,对所述外接包围矩在长度方向和宽度方向进行扩充,扩充后的外接包围矩为目标处理区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述外接包围矩,获取所述激光条纹段的激光线宽,包括:
从所述外接包围矩中的每一行像素点中,分别获取像素值超过预设像素值的第一像素点;
判断每一行像素点中,第一像素点的个数是否超过预设阈值;
若是,将所述第一像素点的个数累加到有效激光点数,将有效行的行数加一;
获取最终的有效激光点数和有效行的总行数,并根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽。
5.根据权利要求4所述的方法,其特征在于,所述根据所述最终的有效激光点数和有效行的总行数计算所述激光条纹段的激光线宽,包括:
根据
Figure FDA0002238018250000021
计算激光线宽Lw,其中,Sw为最终的有效激光点数,c为有效行的总行数。
6.根据权利要求1所述的方法,其特征在于,所述利用Steger算法对所述目标处理区域进行处理,获得多个激光条纹中心点,包括:
对所述目标处理区域进行高斯滤波,获得高斯滤波后的图像;
对高斯滤波后的图像中的每一像素点进行卷积处理,获得所述每一像素点的Hessian矩阵;
根据所述每一像素点的Hessian矩阵的最大特征值对应的特征向量,得到对应点在法向方向的单位向量;
对所述每一像素点均沿法向方向进行二阶泰勒展开,获得所述每一像素点的单位向量的偏移量;
若所述单位向量的偏移量与所述单位向量的乘积未满足预设范围,则舍去所述单位向量对应的像素点;
若所述单位向量的偏移量与所述单位向量的乘积满足预设范围,根据所述单位向量的偏移量与所述单位向量,计算表征激光条纹中心点的亚像素值。
7.根据权利要求1所述的方法,其特征在于,所述根据灰度重心法以及所述记录的纵坐标计算新的横坐标,包括:
根据公式
Figure FDA0002238018250000031
计算横坐标x,其中,g(i,y)为像素点(i,y)的灰度值,i为图像中像素点的第i列,y为图像中像素点的第y行,n为图像的总列数。
8.一种激光条纹中心的确定装置,其特征在于,用于对激光条纹图像进行处理,所述激光条纹图像为利用激光线照射被测目标物获得的激光条纹的图像,所述激光条纹包括至少一个激光条纹段,所述装置包括:
Steger算法运行模块,用于利用Steger算法对目标处理区域进行处理,获得多个激光条纹中心点,所述目标处理区域包括所述至少一个激光条纹段;
斜率计算模块,用于确定所述多个激光条纹中心点中的相邻两个激光条纹中心点的斜率之差大于预设差异值;
坐标记录模块,用于将斜率之差大于预设差异值的相邻两个激光条纹中心点中的一个舍去,并记录舍去的激光条纹中心点的纵坐标;
坐标计算模块,用于根据灰度重心法以及记录的所述纵坐标计算新的横坐标,其中,计算出的所述新的横坐标与记录的所述纵坐标组成新的激光条纹中心点。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一项所述的方法。
CN201910991142.1A 2019-10-17 2019-10-17 激光条纹中心的确定方法、装置、电子设备及存储介质 Active CN110706229B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910991142.1A CN110706229B (zh) 2019-10-17 2019-10-17 激光条纹中心的确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910991142.1A CN110706229B (zh) 2019-10-17 2019-10-17 激光条纹中心的确定方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110706229A true CN110706229A (zh) 2020-01-17
CN110706229B CN110706229B (zh) 2022-04-19

Family

ID=69200483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910991142.1A Active CN110706229B (zh) 2019-10-17 2019-10-17 激光条纹中心的确定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110706229B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798519A (zh) * 2020-07-21 2020-10-20 广东博智林机器人有限公司 激光条纹中心的提取方法、装置、电子设备及存储介质
CN112085752A (zh) * 2020-08-20 2020-12-15 浙江华睿科技有限公司 一种图像的处理方法、装置、设备及介质
CN113902700A (zh) * 2021-09-30 2022-01-07 北京博清科技有限公司 焊接过程中激光线质量的确定方法、确定装置与焊接装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178811A (zh) * 2007-12-10 2008-05-14 北京航空航天大学 一种三步法结构光直线光条的图像特征提取方法
CN101986143A (zh) * 2010-03-17 2011-03-16 燕山大学 机器视觉皮带撕裂检测及保护装置
CN104657587A (zh) * 2015-01-08 2015-05-27 华中科技大学 一种激光条纹中心线的提取方法
CN106042983A (zh) * 2016-08-03 2016-10-26 中铁电气化局集团有限公司 一种激光接触网导线巡检装置及方法
CN107578464A (zh) * 2017-06-30 2018-01-12 长沙湘计海盾科技有限公司 一种基于线激光扫描的传送带工件三维轮廓测量方法
CN107687819A (zh) * 2017-08-01 2018-02-13 大连理工大学 一种快速高精度的光条中心亚像素提取方法
CN109900717A (zh) * 2017-12-08 2019-06-18 英飞凌科技股份有限公司 使用斜率数据的用于半导体衬底的检查方法及检查装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178811A (zh) * 2007-12-10 2008-05-14 北京航空航天大学 一种三步法结构光直线光条的图像特征提取方法
CN101986143A (zh) * 2010-03-17 2011-03-16 燕山大学 机器视觉皮带撕裂检测及保护装置
CN104657587A (zh) * 2015-01-08 2015-05-27 华中科技大学 一种激光条纹中心线的提取方法
CN106042983A (zh) * 2016-08-03 2016-10-26 中铁电气化局集团有限公司 一种激光接触网导线巡检装置及方法
CN107578464A (zh) * 2017-06-30 2018-01-12 长沙湘计海盾科技有限公司 一种基于线激光扫描的传送带工件三维轮廓测量方法
CN107687819A (zh) * 2017-08-01 2018-02-13 大连理工大学 一种快速高精度的光条中心亚像素提取方法
CN109900717A (zh) * 2017-12-08 2019-06-18 英飞凌科技股份有限公司 使用斜率数据的用于半导体衬底的检查方法及检查装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李忠虎 等: ""线结构光光条中心提取算法研究"", 《内蒙古科技大学学报》 *
王金桥 等: ""关节臂激光扫描***光条中心提取方法研究"", 《光电工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798519A (zh) * 2020-07-21 2020-10-20 广东博智林机器人有限公司 激光条纹中心的提取方法、装置、电子设备及存储介质
CN112085752A (zh) * 2020-08-20 2020-12-15 浙江华睿科技有限公司 一种图像的处理方法、装置、设备及介质
CN112085752B (zh) * 2020-08-20 2024-01-30 浙江华睿科技股份有限公司 一种图像的处理方法、装置、设备及介质
CN113902700A (zh) * 2021-09-30 2022-01-07 北京博清科技有限公司 焊接过程中激光线质量的确定方法、确定装置与焊接装置

Also Published As

Publication number Publication date
CN110706229B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN110706229B (zh) 激光条纹中心的确定方法、装置、电子设备及存储介质
CN113109368B (zh) 玻璃裂纹检测方法、装置、设备及介质
CN110866924A (zh) 一种线结构光中心线提取方法及存储介质
US9846823B2 (en) Traffic lane boundary line extraction apparatus and method of extracting traffic lane boundary line
US8600112B2 (en) Crosswalk detection device, crosswalk detection method and recording medium
EP3584763A1 (en) Vehicle-mounted environment recognition device
JP2018128309A (ja) ひび割れ検出方法
JP2013002839A (ja) ひび割れ検出方法
JP6555211B2 (ja) 二次元画像のエッジ抽出方法
CN113920073A (zh) 薄卡计数方法、装置、电子设备及存储介质
CN112686842B (zh) 一种光斑检测方法、装置、电子设备及可读存储介质
JP6199799B2 (ja) 自発光材料画像処理装置及び自発光材料画像処理方法
WO2019021925A1 (ja) 車載環境認識装置
JP6852406B2 (ja) 距離測定装置、距離測定方法および距離測定プログラム
JP6855938B2 (ja) 距離測定装置、距離測定方法および距離測定プログラム
KR101907852B1 (ko) 스테레오 영상 처리 방법 및 장치
CN115311350A (zh) 边浪缺陷的位置参数确定方法、装置、电子设备及介质
CN112146834B (zh) 结构振动位移测量方法及装置
KR20160083615A (ko) 관심영역에서의 차량의 하단선 검출방법
CN113508395B (zh) 用于检测由像素构成的图像中的对象的方法和设备
US10026178B2 (en) Method of determining normality of imaging direction, and evaluation device of evaluating attachment state of imaging device
CN115131752A (zh) 学习方法、学习装置以及程序记录介质
KR101295347B1 (ko) 영상 데이터의 상관도 산출 장치 및 산출 방법
CN111798519A (zh) 激光条纹中心的提取方法、装置、电子设备及存储介质
JP2019056585A (ja) 線幅推定プログラム、装置、及び方法

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
GR01 Patent grant
GR01 Patent grant