首页> 中国专利> 激光条纹列中心线的提取方法、装置、设备及存储介质

激光条纹列中心线的提取方法、装置、设备及存储介质

摘要

本申请实施例提供一种激光条纹列中心线的提取方法、装置、设备及存储介质,涉及图像处理技术领域。该激光条纹列中心线的提取方法包括:获取激光条纹图像,所述激光条纹图像包括多行、多列的像素点;逐列判断各个像素点的灰度值是否符合预设条件;若所述像素点的灰度值符合所述预设条件,则获取符合所述预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果;对相邻两列的所述计算结果进行比较,获得比较结果;根据所述比较结果提取所述激光条纹图像的列中心线。该激光条纹列中心线的提取方法可以实现提高测量精度、计算速度和实时性的技术效果。

著录项

  • 公开/公告号CN112927277A

    专利类型发明专利

  • 公开/公告日2021-06-08

    原文格式PDF

  • 申请/专利权人 广东博智林机器人有限公司;

    申请/专利号CN202110168057.2

  • 发明设计人 罗远彦;何志华;

    申请日2021-02-05

  • 分类号G06T7/41(20170101);G06T7/60(20170101);G06T7/521(20170101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人余菲

  • 地址 528000 广东省佛山市顺德区北滘镇碧桂园社区泮浦路1号A1栋2楼A2-05(仅作办公用途)(住所申报)

  • 入库时间 2023-06-19 11:19:16

说明书

技术领域

本申请涉及图像处理技术领域,具体而言,涉及一种激光条纹列中心线的提取方法、装置、设备及存储介质。

背景技术

目前,线激光立体相机是基于激光三角测量原理,向被测物发射单线激光,利用高速图像采集系统获取被测物表面漫反射的激光轮廓线,并通过内置的图像处理算法实时计算并输出被测物三维信息的设备。在内置的图像处理算法中,其核心是如何准确高效的将激光轮廓线的中心提取出来。

现有技术中,线激光立体相机帧率需达到几千帧甚至上万帧,为此在保证精度的前提下需尽可能的提高算法计算速度;但是,现有的线激光立体相机的测量精度低,且实时性差,难以保证使用需求。

发明内容

本申请实施例的目的在于提供一种激光条纹列中心线的提取方法、装置、设备及存储介质,可以实现提高测量精度、计算速度和实时性的技术效果。

第一方面,本申请实施例提供了一种激光条纹列中心线的提取方法,包括:

获取激光条纹图像,所述激光条纹图像包括多行、多列的像素点;

逐列判断各个像素点的灰度值是否符合预设条件;

若所述像素点的灰度值符合所述预设条件,则获取符合所述预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果;

对相邻两列的所述计算结果进行比较,获得比较结果;

根据所述比较结果提取所述激光条纹图像的列中心线。

在上述实现过程中,该激光条纹列中心线提取方法通过逐列判断各个像素点的灰度值是否符合预设条件,当符合预设条件时,则获取该列符合预设条件的像素点的灰度值并进行计算,获得该列的计算结果;然后逐列比较两段的计算结果,根据比较结果,选择其中一段的计算结果计算列中心线输出值,即可提取激光条纹图像的列中心线;从而,该激光条纹列中心线提取方法在通过需要缓存的算法获得计算结果时,其需要缓存的算法只要能在一行的时间内计算出来,就无需缓存视频流,测量精度高且实时性高。

进一步地,所述获取符合所述预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果的步骤,包括:

根据灰度重心法对符合所述预设条件的像素点所在列的像素点的灰度值进行计算,获得所述计算结果。

在上述实现过程中,该激光条纹列中心线的提取方法可选用灰度重心法作为中心线提取的具体算法,灰度重心法考虑了激光条纹图像中所有的灰度信息,利用重心模型提取条纹中心,精度较传统方法有较大提高,同时灰度重心法速度快,可以在一行的时间内计算出来,无需缓存视频流,测量精度高且实时性高。

进一步地,所述根据灰度重心法对符合所述预设条件的像素点所在列的像素点的灰度值进行计算,获得所述计算结果的步骤,包括:

计算所述预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得所述计算结果。

在上述实现过程中,使用灰度重心法,即可通过计算符合预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得计算结果。

进一步地,所述对相邻两列的所述计算结果进行比较,获得比较结果的步骤,包括:

比较相邻两列的平均灰度值,选取最大的所述平均灰度值作为所述比较结果。

在上述实现过程中,比较相邻两列的平均灰度值,进而完成激光条纹图像中所有列的平均灰度值比较,换言之,即逐列比较两段的平均灰度值,选择平均灰度值大的一段的计算结果,计算列中心线输出值输出,从而完成激光条纹列中心线的提取;其中,列中心线输出值包括灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值。

第二方面,本申请实施例提供了一种激光条纹列中心线的提取装置,包括:

获取模块,用于获取激光条纹图像,所述激光条纹图像包括多行、多列的像素点;

判断模块,用于逐列判断各个像素点的灰度值是否符合预设条件;

计算模块,用于若所述像素点的灰度值符合所述预设条件,则获取符合所述预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果;

比较模块,用于对相邻两列的所述计算结果进行比较,获得比较结果;

提取模块,用于根据所述比较结果提取所述激光条纹图像的列中心线。

进一步地,所述计算模块还用于根据灰度重心法对符合所述预设条件的像素点所在列的像素点的灰度值进行计算,获得所述计算结果。

进一步地,所述计算模块还用于计算所述预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得所述计算结果。

进一步地,所述比较模块还用于比较相邻两列的平均灰度值,选取最大的所述平均灰度值作为所述比较结果。

第三方面,本申请实施例提供的一种设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。

第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。

第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。

本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种激光条纹列中心线的提取方法的流程示意图;

图2为本申请实施例提供的另一种激光条纹列中心线的提取方法的流程示意图;

图3为本申请实施例提供的一种激光条纹列中心线的提取方法的时钟周期示意图;

图4为本申请实施例提供的一种激光条纹列中心线的提取装置的结构示意图;

图5为本申请实施例提供的一种设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本申请实施例提供了一种激光条纹列中心线提取方法、装置、设备及存储介质,可以应用于激光条纹图像的列中心线提取过程中;该激光条纹列中心线提取方法通过逐列判断各个像素点的灰度值是否符合预设条件,当符合预设条件时,则获取该列符合预设条件的像素点的灰度值并进行计算,获得该列的计算结果;然后逐列比较两段的计算结果,根据比较结果,选择其中一段的计算结果计算列中心线输出值,即可提取激光条纹图像的列中心线;从而,该激光条纹列中心线提取方法在通过需要缓存的算法获得计算结果时,其需要缓存的算法只要能在一行的时间内计算出来,就无需缓存视频流,测量精度高且实时性高。

请参见图1,图1为本申请实施例提供的一种激光条纹列中心线的提取方法的流程示意图,该激光条纹列中心线的提取方法包括如下步骤:

S100:获取激光条纹图像,激光条纹图像包括多行、多列的像素点。

示例性地,获取激光条纹图像的过程中,激光条纹图像的各个像素点的灰度值可以逐行输入。

S200:逐列判断各个像素点的灰度值是否符合预设条件。

可选地,预设条件可以根据具体的算法进行具体设置;例如,当采用灰度重心法时,所述预设条件可设置为像素点的灰度值大于中心线阈值。

示例性地,中心线阈值根据相机的具体情况,可以预先设定。

S300:若像素点的灰度值符合预设条件,则获取符合预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果。

在一些实施方式中,选择具体的算法进行灰度值的计算时,需要能在一行的时间内计算出来;

逐列像素点判断是否符合预设条件,当每列第一次符合条件时,开始第一段的算法计算,计算结果逐一更新并缓存(由于图像逐行输入,所以每个有用的计算结果都缓存了一行),直到该列不符合条件;

每列第二次符合条件开始第二段的算法计算,计算结果逐一更新并缓存,直到该列不符合条件;

比较两段的算法计算结果保留其中一段的计算结果,另一段被该列第三次符合条件开始的计算结果刷新,如此反复直到激光条纹图像输入最后一行;从而,通过上述方式即可完成激光条纹图像中所有像素点的判断,并对符合预设条件的像素点进行计算。

S400:对相邻两列的计算结果进行比较,获得比较结果。

S500:根据比较结果提取激光条纹图像的列中心线。

示例性地,该激光条纹列中心线提取方法通过逐列判断各个像素点的灰度值是否符合预设条件,当符合预设条件时,则获取该列符合预设条件的像素点的灰度值并进行计算,获得该列的计算结果;然后逐列比较两段的计算结果,根据比较结果,选择其中一段的计算结果计算列中心线输出值,即可提取激光条纹图像的列中心线;从而,该激光条纹列中心线提取方法在通过需要缓存的算法获得计算结果时,其需要缓存的算法只要能在一行的时间内计算出来,就无需缓存视频流,测量精度高且实时性高。

在一些实施方式中,该激光条纹列中心线的提取方法可以应用于实时激光条纹图像中,具体流程如下:相机每一帧图像逐行输入各像素点灰度值,逐列像素点判断是否符合预设条件,每列第一次符合条件开始第一段的算法计算,计算结果逐一更新并缓存(由于图像逐行输入,所以每个有用的计算结果都缓存了一行),直到该列不符合条件;每列第二次符合条件开始第二段的算法计算,计算结果逐一更新并缓存,直到该列不符合条件;比较两段的算法计算结果保留其中一段的计算结果,另一段被该列第三次符合条件开始的计算结果刷新,如此反复直到图像输入最后一行,逐列比较两段的算法计算结果选择其中一段的结果计算列中心线输出值,从而最终完成提取激光条纹列中心线的操作。

请参见图2,图2为本申请实施例提供的另一种激光条纹列中心线的提取方法的流程示意图。

示例性地,S300:获取符合预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果的步骤,包括:

S310:根据灰度重心法对符合预设条件的像素点所在列的像素点的灰度值进行计算,获得计算结果。

示例性地,该激光条纹列中心线的提取方法选用灰度重心法作为中心线提取的具体算法;一般地,灰度重心法考虑了激光条纹图像中所有的灰度信息,利用重心模型提取条纹中心,精度较传统方法有较大提高,同时灰度重心法速度快,适合应用在单线线扫激光相机的场合;灰度重心法的计算公式如式如下所示:

其中,g(x,i)为像素点(x,i)的灰度值,gi标识像素点的行坐标,x表示图像中的第x列,i表示图像中的第i行,n表示图像的行数,则y为所求激光条纹在第x列时y方向的亚像素值,点(x,y)为所求点。

应理解,本申请采用灰度重心法能实现实时图像激光条纹亚像素精度的检测要求,但不仅局限于灰度重心法,只要需要缓存的算法计算结果能在一行的时间内计算出来,就无需缓存视频流,实现实时性高的技术效果。

示例性地,S310:根据灰度重心法对符合预设条件的像素点所在列的像素点的灰度值进行计算,获得计算结果的步骤,包括:

计算预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得计算结果。

示例性地,使用灰度重心法,即可通过计算符合预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得计算结果。

在一些实施方式中,计算预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得计算结果的具体流程示例如下:

获取激光条纹图像,每一帧激光条纹图像逐行输入各像素点灰度值(激光条纹图像可设置为分辨率m*n);

逐列像素点判断激光条纹图像的灰度值是否大于中心线阈值(m列),可选地,每列帧初始值为像素点灰度值小于中心线阈值;

每列第一次像素点灰度值大于中心线阈值时,开始第一段的算法计算,分别计算并获得第一段的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,计算结果逐一更新并缓存,直到该列像素点灰度值小于中心线阈值;

每列第二次像素点灰度值大于中心线阈值时,开始第一段的算法计算,分别计算并获得第二段的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,计算结果逐一更新并缓存,直到该列像素点灰度值小于中心线阈值;

比较第一段和第二段的平均灰度值,保留平均灰度值大的一段的算法计算结果,另一段的算法计算结果被该列第三次像素点灰度值大于阈值开始的计算结果刷新,如此反复直到图像输入最后一行,从而完成激光条纹图像所有像素点的判断和计算。

示例性地,S400:对相邻两列的计算结果进行比较,获得比较结果的步骤,包括:

S410:比较相邻两列的平均灰度值,选取最大的平均灰度值作为比较结果。

示例性地,比较相邻两列的平均灰度值,进而完成激光条纹图像中所有列的平均灰度值比较,换言之,即逐列比较两段的平均灰度值,选择平均灰度值大的一段的计算结果,计算列中心线输出值输出,从而完成激光条纹列中心线的提取;其中,列中心线输出值包括灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值。

请参见图3,图3为本申请实施例提供的一种激光条纹列中心线的提取方法的时钟周期示意图。

示例性地,激光条纹图像逐行输入各像素点灰度值,每一行都逐列像素点判断是否符合预设条件,以及每段结束比较两段上一行该列计算结果进行段选择,同时行有效信号、像素点灰度值同步延时;下一个时钟周期开始进行第一段或者第二段的算法计算,若干个时钟周期后,得到算法计算结果,同时行有效信号要同步延时;下一步第一段或者第二段的算法计算结果进行缓存,在该段结束后用于下一行该列的段选择;最后每帧图像输入最后一行时延时同步的行有效信号同步选择其中一段的算法计算结果计算列中心线值;若干个时钟周期后,得到列中心线结果输出。所以本发明只要需要缓存的算法计算结果能在一行的时间内计算出来,就无需缓存视频流,实时性高。

请参见图4,图4为本申请实施例提供的一种激光条纹列中心线的提取装置的结构示意图,该激光条纹列中心线的提取装置包括:

获取模块100,用于获取激光条纹图像,激光条纹图像包括多行、多列的像素点;

判断模块200,用于逐列判断各个像素点的灰度值是否符合预设条件;

计算模块300,用于若像素点的灰度值符合预设条件,则获取符合预设条件的像素点所在列的像素点的灰度值并进行计算,获得计算结果;

比较模块400,用于对相邻两列的计算结果进行比较,获得比较结果;

提取模块500,用于根据比较结果提取激光条纹图像的列中心线。

示例性地,计算模块300还用于根据灰度重心法对符合预设条件的像素点所在列的像素点的灰度值进行计算,获得计算结果。

示例性地,计算模块300还用于计算预设条件的像素点所在列的灰度值列累加值、线宽、灰度值*行坐标的列累加值和平均灰度值,获得计算结果。

示例性地,比较模块400还用于比较相邻两列的平均灰度值,选取最大的平均灰度值作为比较结果。

应理解,图4所示的激光条纹列中心线的提取装置与图1至图3所示的方法实施例相互对应,为避免重复,此处不再赘述。

本申请还提供一种设备,请参见图5,图5为本申请实施例提供的一种设备的结构框图。设备可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。

上述的处理器510可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。

存储器530可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,设备可以执行上述图1至图3方法实施例涉及的各个步骤。

可选地,设备还可以包括存储控制器、输入输出单元。

所述存储器530、存储控制器、处理器510、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如设备包括的软件功能模块或计算机程序。

输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

可以理解,图5所示的结构仅为示意,所述设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。

本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。

本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号