一种光条中心亚像素的提取方法及装置
阅读说明:本技术 一种光条中心亚像素的提取方法及装置 (Method and device for extracting sub-pixels in centers of light bars ) 是由 罗林 于 2019-11-04 设计创作,主要内容包括:本申请实施例提供一种光条中心亚像素的提取方法及装置,涉及图像处理领域,该方法包括:对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像;根据多个骨架点建立顺序链表;遍历计算顺序链表中多个骨架点的法线方向,并遍历计算顺序链表中多个骨架点的骨架曲率;根据法线方向和骨架曲率进行计算,得到光条中心亚像素信息。实施这种实施方式,能够实现对光条任意方向亚像素中心进行提取,从而能够提升了激光线扫三维重建精度和重建的效率。(The embodiment of the application provides a method and a device for extracting sub-pixels in the center of a light strip, and relates to the field of image processing, wherein the method comprises the following steps: carrying out skeleton extraction on the acquired light bar image to obtain a skeleton image comprising a plurality of skeleton points; establishing a sequential linked list according to a plurality of skeleton points; traversing normal directions of a plurality of skeleton points in the calculation sequence linked list, and traversing skeleton curvatures of the plurality of skeleton points in the calculation sequence linked list; and calculating according to the normal direction and the curvature of the skeleton to obtain the sub-pixel information of the center of the light strip. By implementing the implementation mode, the extraction of the sub-pixel center of the optical strip in any direction can be realized, so that the laser line scanning three-dimensional reconstruction precision and the reconstruction efficiency can be improved.)
技术领域
本申请涉及图像处理领域,具体而言,涉及一种光条中心亚像素的提取方法及装置。
背景技术
目前,在激光线扫三维重建方面,图像中激光条中心线提取至关重要,直接影响重建的精度。其中,传统的方法往往假设激光条在图像中处于水平或者垂直方向,此时中心线提取只需要沿着行或列方向搜索。然而,在实践中发现,当被测物表面曲率变化较大时,同一行或列可能存在不止一个光条中心点,传统的方法难以保留所有的中心点,从而导致激光条中心线提取存在缺失,降低了激光线扫三维重建精度。
发明内容
本申请实施例的目的在于提供一种光条中心亚像素的提取方法及装置,用以实现对光条任意方向亚像素中心进行提取,从而能够提升了激光线扫三维重建精度和重建的效率。
本申请实施例第一方面提供了一种光条中心亚像素的提取方法,所述方法包括:
对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像;
根据所述多个骨架点建立顺序链表;
遍历计算所述顺序链表中所述多个骨架点的法线方向,并遍历计算所述顺序链表中所述多个骨架点的骨架曲率;
根据所述法线方向和所述骨架曲率进行计算,得到光条中心亚像素信息。
在上述实现过程中,该方法可以优先获取到光条图像,并对该光条图像进行骨架提取,从而得到包括多个骨架点的骨架图像;然后,根据该骨架图像中包括的多个骨架点依次建立顺序链表,以使多个骨架点通过顺序链表进行存储;其次,再在顺序链表中对多个骨架点的法线方向和骨架曲率进行计算,以使计算得到的法线方向和骨架曲率可以用于光条中心亚像素信息的二维图像信息计算,从而得到光条中心亚像素信息;其中,该光条中心亚像素信息可以为图像中的坐标信息。可见,实施这种实施方式,该方法能够通过骨架提取、顺序链表来辅助光条中心亚像素信息的计算,以使光条中心亚像素信息可以得以更快速、更准确地被提取出来,从而进一步提升了激光线扫三维重建精度和重建的效率。
进一步地,所述对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像的步骤之前,所述方法还包括:
获取初始图像;
对所述初始图像进行光条区域分割,得到光条图像。
在上述实现过程中,该方法还可以预先获取到初始的图像信息,并对该图像信息进行初步处理得到用于光条中心亚像素的提取中。可见,实施这种实施方式,能够获取输入图像,并将该输入图像作为初始图像进行光条区域分割,从而提高光条图像的获取质量;同时,由于光条亮度相比其他区域亮度高很多,还能够采用二值化方法进行分割,从而能够排除明显不是光条的区域,得到只包含光条区域的图像,进而进一步提高光条图像的获取质量。
进一步地,所述根据所述多个骨架点建立顺序链表的步骤包括:
建立初始链表;
获取所述多个骨架点包括的第一骨架点,并将所述第一骨架点作为链表头部***所述初始链表,得到第一中间链表;
根据预设的光条扫描顺序获取所述多个骨架点包括的第二骨架点,并将所述第二骨架点作为链表尾部***所述第一中间链表,得到第二中间链表;
根据所述光条扫描顺序获取所述多个骨架点包括的第三骨架点,并根据所述第三骨架点与所述第一骨架点和所述第二骨架点两者之间的距离大小将所述第三骨架点***所述第二中间链表的表头或表尾,得到顺序链表。
在上述实现过程中,该方法提供了一种顺序链表的建立过程,在该过程中,顺序链表随着骨架点的增加按照一定顺序进行排序存储,从而得到有固定顺序的存储构架。可见,实施这种实施方式,该方法能够将骨架点更合理地存储起来,极大便利了后续的遍历计算和相应调用过程,从而能够光条中心亚像素提取的效率,进而提高激光线扫三维重建的效率。
进一步地,所述遍历计算所述顺序链表中所述多个骨架点的法线方向的步骤包括:
以所述多个骨架点中的每个骨架点为中心点获取对应的多组第一预设半径内拟合点;
根据最小二乘法对所述多组第一预设半径内拟合点进行拟合计算,得到多个拟合直线;
确定所述多个拟合直线对应的多个法线方向为所述多个骨架点的法线方向。
在上述实现过程中,该方法可以根据一个较小的预设半径对骨架点进行辅助计算,同时使用最小二乘法可以更有效率的获取到相应的拟合直线,从而能够确定多个骨架点的法线方向。可见,实施这种实施方式,该方法能够更高效的获取到每个骨架点的法线方向,从而提高光条中心亚像素的提取效率。
进一步地,所述遍历计算所述顺序链表中所述多个骨架点的骨架曲率的步骤包括:
以所述多个骨架点中的每个骨架点为中心点获取对应的多组第二预设半径内双端点,并计算所述多组第二预设半径内双端点之间的多个距离,得到弦长集合;
计算所述中心点到所述多组第二预设半径内双端点所连成直线的多个距离,得到拱高集合;
根据所述弦长集合和所述拱高集合遍历计算所述顺序链表中所述多个骨架点的骨架曲率。
在上述实现过程中,该方法可以根据以骨架点为中心,第二预设半径为半径确定两个端点,从而确定该两端点之间的距离作为曲率计算中的弦长;同时,计算骨架点至由两端点所构成直线的距离,并确定该距离为拱高;在具有上述弦长和拱高的基础,该方法可以进一步计算曲率半径以及曲率。可见,实施这种实施方式,可以极大幅度的简化曲率的计算,提高曲率的计算效率能够进一步提高光条中心亚像素的提取效率。
进一步地,所述弦长集合包括的数据、所述拱高集合包括的数据以及所述多个骨架点的骨架曲率是一一对应的,其中,所述多个骨架点的骨架曲率中单个骨架点的骨架曲率的计算公式包括:
R=H/2+L2/(8H);
ρ=1/R;
其中,R为曲率半径;
L为弦长;
H为拱高;
ρ为骨架曲率。
在上述实现过程中,该方法可以根据上述公式计算出骨架曲率。可见,实施这种实施方式,可以通过更为简单的计算方式和计算公式计算出想要的骨架曲率,从而化繁为简,实现计算效率和光条中心亚像素提取效率的有效提升。
进一步地,所述根据所述法线方向和所述骨架曲率进行计算,得到光条中心亚像素信息的步骤包括:
根据预设的最大切线宽度值、预设的最小切线宽度值以及所述骨架曲率进行计算,得到骨架切线长度值;
根据所述法线方向、预设的法线长度值以及所述骨架切线长度值进行确定得到亚像素区域;
在所述亚像素区域中进行信息提取,得到光条中心亚像素信息。
在上述实现过程中,该方法可以根于预设的参数计算出骨架切线长度,并且根据法线方向确定亚像素区域的位置,进而再通过预设的法线长度值以及骨架切线长度值确定得到准确的亚像素区域,以使光条中心亚像素信息可以从准确的亚像素区域中进行准确提取。可见,实施这种实施方式,能够提高光条中心亚像素信息的提取精度,从而能够提升了激光线扫三维重建精度。
进一步地,所述根据预设的最大切线宽度值、预设的最小切线宽度值以及所述骨架曲率进行计算,得到骨架切线长度值的步骤包括:
获取预设的最小曲率和预设的最大曲率;
根据预设的最大切线宽度值、预设的最小切线宽度值、所述最小曲率、所述最大曲率、所述骨架曲率以及预设的骨架切线长度计算公式进行计算,得到骨架切线长度值;其中,
所述骨架切线长度计算公式包括:
Wt=(ρ-ρmin)*(Wtmax-Wtmin)/(ρmax-ρmin)+Wtmin;
其中,ρ为所述骨架曲率;
ρmax为所述最大曲率;
ρmin为所述最小曲率;
Wtmax为所述最大切线宽度值;
Wtmin为所述最小切线宽度值;
Wt为所述骨架切线长度值。
在上述实现过程中,该方法可以通过上述公式计算出准确的骨架切线长度值。可见,实施这种实施方式,可以通过简单的公式计算和准确的参数设置实现骨架切线长度值的准确计算,从而提高骨架切线长度值的计算效率和计算精度。
本申请实施例第二方面提供了一种光条中心亚像素的提取装置,所述光条中心亚像素的提取装置包括:
提取单元,用于对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像;
建表单元,用于根据所述多个骨架点建立顺序链表;
第一计算单元,用于遍历计算所述顺序链表中所述多个骨架点的法线方向和骨架曲率;
第二计算单元,用于根据所述法线方向和所述骨架曲率进行计算,得到光条中心亚像素信息。
在上述实现过程中,该光条中心亚像素的提取装置可以通过提取单元、建表单元、第一计算单元以及第二计算单元依次进行相应的处理计算,从而确定准确有效的计算过程,以使该装置能够更快速、准确的获取到光条中心亚像素信息。可见,实施这种实施方式,该装置能够通过多个单元的组合工作实现对光条任意方向亚像素中心的准确提取,从而进一步提高了激光线扫三维重建精度和重建的效率。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据本申请实施例第一方面中任一项所述的光条中心亚像素的提取方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的光条中心亚像素的提取方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种光条中心亚像素的提取方法的流程示意图;
图2为本申请实施例提供的另一种光条中心亚像素的提取方法的流程示意图;
图3为本申请实施例提供的一种光条中心亚像素的提取方法中的部分细化流程示意图;
图4为本申请实施例提供的一种光条中心亚像素的提取装置的结构示意图;
图5为本申请实施例提供的另一种光条中心亚像素的提取装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种光条中心亚像素的提取方法的流程示意图。该方法能够应用在任何光条中心亚像素提取环境中,其中,该方法还可以应用于图像处理等情况当中。其中,该光条中心亚像素的提取方法包括:
S101、对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像。
本实施例中,光条图像是对输入图像进行光条分割得到的图像,简称光条图像。
在本实施例中,光条图像包括的内容为大量光条。
本实施例中,骨架提取处理为图像分析中的骨架处理方法。
作为一种可选的实施方式,对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像的步骤包括:
对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架初始图像;
对多个骨架点的骨架初始图像进行毛刺去除处理,得到多个骨架点的骨架图像。
实施这种实施方式,能够进一步提高骨架提取的精度,从而提高光条中心亚像素的提取精度。
本实施例中,骨架提取可采用各种经典的骨架提取方法,如Hilditch算法、Zhang并行快速算法、K3M算法等。其中原理为,当光条较粗时,骨架提取算法在同一区域会保留多个像素,形成毛刺。为了保证光条提取质量,需要将毛刺进行剔除。
本实施例中,骨架图像中包括多个骨架图像。
S102、根据多个骨架点建立顺序链表。
本实施例中,顺序链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
在本实施例中,顺序链表包括多个骨架点的排列存储顺序。
S103、遍历计算顺序链表中多个骨架点的法线方向,并遍历计算顺序链表中多个骨架点的骨架曲率。
本实施例中,法线方向用于确定光条中心亚像素信息的二维方向。
本实施例中,骨架曲率用于计算光条中心像素信息的具体坐标位置。
本实施例中,遍历计算可以实现大篇幅的计算,从而提高骨架点各个方面的计算全面性,从而保证光条中心亚像素信息的获取精度。
S104、根据法线方向和骨架曲率进行计算,得到光条中心亚像素信息。
本实施例中,光条中心亚像素信息可以为坐标信息,其中,该坐标可以用于确定亚像素位置。
本实施例中,该方法的执行主体为光条中心亚像素的提取装置,同时,该方法的执行主体还可以为计算机、手机等智能设备,对此本实施例中不作任何限定。
可见,实施图1所描述的光条中心亚像素的提取方法,能够优先获取到光条图像,并对该光条图像进行骨架提取,从而得到包括多个骨架点的骨架图像;然后,根据该骨架图像中包括的多个骨架点依次建立顺序链表,以使多个骨架点通过顺序链表进行存储;其次,再在顺序链表中对多个骨架点的法线方向和骨架曲率进行计算,以使计算得到的法线方向和骨架曲率可以用于光条中心亚像素信息的二维图像信息计算,从而得到光条中心亚像素信息;其中,该光条中心亚像素信息可以为图像中的坐标信息。可见,实施这种实施方式,该方法能够通过骨架提取、顺序链表来辅助光条中心亚像素信息的计算,以使光条中心亚像素信息可以得以更快速、更准确地被提取出来,从而进一步提升了激光线扫三维重建精度和重建的效率。
实施例2
请参看图2,图2为本申请实施例提供的另一种光条中心亚像素的提取方法的流程示意图。图2所描述的光条中心亚像素的提取方法的流程示意图是根据图1所描述的光条中心亚像素的提取方法的流程示意图进行改进得到的。其中,该光条中心亚像素的提取方法包括:
S201、获取初始图像。
本实施例中,初始图像的获取方式本实施例中不作任何限定。
本实施例中,初始图像为包括光条在内的图像,对于图像的具体内容本实施例中不作任何限定。
S202、对初始图像进行光条区域分割,得到光条图像。
本实施例中,该步骤对初始图像进行光条区域分割。由于光条亮度相比其他区域亮度高很多,采用二值化方法进行分割,然后排除明显不是光条的区域,得到只包含光条区域的图像,而该图像则为光条图像。
S203、对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像。
在本实施例中,该步骤可以经过毛刺去除处理,以使其骨架图像的图像精度更高。
S204、建立初始链表。
本实施例中,初始链表为空链表。
S205、获取多个骨架点包括的第一骨架点,并将第一骨架点作为链表头部***初始链表,得到第一中间链表。
本实施例中,该步骤可以通过遍历图像,找到骨架点最开始不为空的行。如果该行只有一个骨架点,则将该点***链表;如果该行不只一个骨架点,则将骨架点顺序***链表中。
本实施例中,链表头或者链表尾可以初始互换,对此本实施例中不再多加赘述。
S206、根据预设的光条扫描顺序获取多个骨架点包括的第二骨架点,并将第二骨架点作为链表尾部***第一中间链表,得到第二中间链表。
本实施例中,当步骤S205未同时***两个骨架点时,该步骤可以***第二个骨架点,以使链表更加完整。
S207、根据光条扫描顺序获取多个骨架点包括的第三骨架点,并根据第三骨架点与第一骨架点和第二骨架点两者之间的距离大小将第三骨架点***第二中间链表的表头或表尾,得到顺序链表。
本实施例中,当存在第四骨架点、第五骨架点、第六骨架点等一系列骨架点时,该方法可以根据步骤S207的过程进行骨架点的链表***,从而使得多个骨架点集成于同一链表中;同时该过程简便可行,易于存储于后续提取。可见,该过程能够遍历完图像中所有的骨架点,进而建立起顺序链表。
本实施例中,步骤S207可以理解为,该步骤可以遍历余下图像,找到下一骨架点,并分别计算该骨架点与链表头部和链表尾部之间的两个距离Df和Db。如果Df<Db,则将Pc从表头***链表;否则,将Pc为表尾***链表。
在本实施例中,步骤S204~S207可以理解为遍历图像中的骨架点,建立顺序链表,以便后续法向和曲率计算的处理过程
S208、遍历计算顺序链表中多个骨架点的法线方向,并遍历计算顺序链表中多个骨架点的骨架曲率。
本实施例中,法线方向、骨架曲率与骨架点一一对应。
S209、根据预设的最大切线宽度值、预设的最小切线宽度值以及骨架曲率进行计算,得到骨架切线长度值。
作为一种可选的实施方式,根据预设的最大切线宽度值、预设的最小切线宽度值以及骨架曲率进行计算,得到骨架切线长度值的步骤包括:
获取预设的最小曲率和预设的最大曲率;
根据预设的最大切线宽度值、预设的最小切线宽度值、最小曲率、最大曲率、骨架曲率以及预设的骨架切线长度计算公式进行计算,得到骨架切线长度值;其中,
骨架切线长度计算公式包括:
Wt=(ρ-ρmin)*(Wtmax-Wtmin)/(ρmax-ρmin)+Wtmin;
其中,ρ为骨架曲率;
ρmax为最大曲率;
ρmin为最小曲率;
Wtmax为最大切线宽度值;
Wtmin为最小切线宽度值;
Wt为骨架切线长度值。
实施这种实施方式,该方法可以通过上述公式计算出准确的骨架切线长度值。可见,实施这种实施方式,可以通过简单的公式计算和准确的参数设置实现骨架切线长度值的准确计算,从而提高骨架切线长度值的计算效率和计算精度。
S210、根据法线方向、预设的法线长度值以及骨架切线长度值进行确定得到亚像素区域。
举例来说,该确定计算亚像素区域(亚像素点坐标的区域)的方法可以理解为:选取以当前骨架点为中心,沿法线方向Wn长度(预设的法线长度值),切线方向Wt宽度的旋转矩形区域作为中心点亚像素化的区域。其中,Wn需设置,超过光条截面尺寸即可;Wt根据曲率计算得到,计算如上。
S211、在亚像素区域中进行信息提取,得到光条中心亚像素信息。
本实施例中,该步骤可以理解为在上述方法确定出的亚像素区域内的点在原图中分别求x和y分量的中心矩,得到亚像素坐标xc和yc,从而求得亚像素化的中心点坐标,进而确定光条中心亚像素信息。其中,中心矩求亚像素坐标可以替换为其他方法。
实施这种实施方式,明能够解决光条在图像中任意位置、任意走向时中心线提取缺失的问题,能够保留所有有效的中心点,提高重建的质量。
可见,实施图2所描述的光条中心亚像素的提取方法,能够优先获取到光条图像,并对该光条图像进行骨架提取,从而得到包括多个骨架点的骨架图像;然后,根据该骨架图像中包括的多个骨架点依次建立顺序链表,以使多个骨架点通过顺序链表进行存储;其次,再在顺序链表中对多个骨架点的法线方向和骨架曲率进行计算,以使计算得到的法线方向和骨架曲率可以用于光条中心亚像素信息的二维图像信息计算,从而得到光条中心亚像素信息;其中,该光条中心亚像素信息可以为图像中的坐标信息。可见,实施这种实施方式,该方法能够通过骨架提取、顺序链表来辅助光条中心亚像素信息的计算,以使光条中心亚像素信息可以得以更快速、更准确地被提取出来,从而进一步提升了激光线扫三维重建精度和重建的效率。
实施例3
请参看图3,图3为本申请实施例提供的一种光条中心亚像素的提取方法中的部分细化流程示意图。其中,遍历计算顺序链表中多个骨架点的法线方向,并遍历计算顺序链表中多个骨架点的骨架曲率的步骤包括:
S311、以多个骨架点中的每个骨架点为中心点获取对应的多组第一预设半径内拟合点。
本实施例中,第一预设半径内拟合点为第一预设半径中的用于拟合的点。
S312、根据最小二乘法对多组第一预设半径内拟合点进行拟合计算,得到多个拟合直线。
本实施例中,拟合直线与骨架点一一对应。
S313、确定多个拟合直线对应的多个法线方向为多个骨架点的法线方向。
本实施例中,上述步骤能够遍历链表中的点,计算该骨架点的法线方向。
举例来说,该方法可以以链表中的一个骨架点为中心,选取半径为R1内的点用最小二乘拟合直线,计算直线的法向量作为该点法线方向;其中R1必须取较小值,一般R1可取3或5。
作为一种可选的实施方式,遍历计算顺序链表中多个骨架点的法线方向,并遍历计算顺序链表中多个骨架点的骨架曲率的步骤还包括:
S321、以多个骨架点中的每个骨架点为中心点获取对应的多组第二预设半径内双端点,并计算多组第二预设半径内双端点之间的多个距离,得到弦长集合。
S322、计算中心点到多组第二预设半径内双端点所连成直线的多个距离,得到拱高集合。
S323、根据弦长集合和拱高集合遍历计算顺序链表中多个骨架点的骨架曲率。
作为一种可选的实施方式,弦长集合包括的数据、拱高集合包括的数据以及多个骨架点的骨架曲率是一一对应的,其中,多个骨架点的骨架曲率中单个骨架点的骨架曲率的计算公式包括:
R=H/2+L2/(8H);
ρ=1/R;
其中,R为曲率半径;
L为弦长;
H为拱高;
ρ为骨架曲率。
实施这种实施方式,该方法可以根据上述公式计算出骨架曲率。可见,实施这种实施方式,可以通过更为简单的计算方式和计算公式计算出想要的骨架曲率,从而化繁为简,实现计算效率和光条中心亚像素提取效率的有效提升。同时,改进曲率计算方式,相比传统拟合模型的方式极大缩短了处理时间,提升重建的效率。
举例来说,该计算当前骨架点处的曲率半径,从而得到曲率的步骤可以理解为:以链表中骨架点为中心,选取半径为R2内的点,计算半径为R2内两个端点的距离,得到近似弦长L;同时计算当前点到两个端点连成直线的距离,得到近似拱高H。根据关系式R2=(R-H)2+(L/2)2,得到R=H/2+L2/(8H),则曲率为ρ=1/R。
可见,实施图3所描述的光条中心亚像素的提取方法中的部分细化方法,能够处理光条在图像任意方向的情况;同时还能够通过改进曲率计算方式减小传统方法求曲率的计算量。可见,实施这种实施方式,能够获取到更准确的法线防线和骨架曲率,从而提高光条中心亚像素的提取质量和提取效率。
实施例4
请参看图4,图4为本申请实施例提供的一种光条中心亚像素的提取装置的结构示意图。其中,该光条中心亚像素的提取装置包括:
提取单元410,用于对获取到的光条图像进行骨架提取,得到包括多个骨架点的骨架图像;
建表单元420,用于根据多个骨架点建立顺序链表;
第一计算单元430,用于遍历计算顺序链表中多个骨架点的法线方向和骨架曲率;
第二计算单元440,用于根据法线方向和骨架曲率进行计算,得到光条中心亚像素信息。
本实施例中,该光条中心亚像素的提取装置可以引用本申请实施例1、实施例2或实施例3中的任意解释或说明,对此本实施例中不再多加赘述。
可见,实施图4所描述的光条中心亚像素的提取装置,能够通过提取单元410、建表单元420、第一计算单元430以及第二计算单元440依次进行相应的处理计算,从而确定准确有效的计算过程,以使该装置能够更快速、准确的获取到光条中心亚像素信息。可见,实施这种实施方式,该装置能够通过多个单元的组合工作实现对光条任意方向亚像素中心的准确提取,从而进一步提高了激光线扫三维重建精度和重建的效率。
实施例5
请参看图5,图5为本申请实施例提供的另一种光条中心亚像素的提取装置的结构示意图。图5所描述的光条中心亚像素的提取装置的结构示意图是根据图4所描述的光条中心亚像素的提取装置的结构示意图进行改进得到的。其中,该光条中心亚像素的提取装置还包括:
获取单元450,用于获取初始图像;
分割单元460,用于对初始图像进行光条区域分割,得到光条图像。
作为一种可选的实施方式,建表单元420包括:
建立子单元421,用于建立初始链表;
获取子单元422,用于获取多个骨架点包括的第一骨架点,并将第一骨架点作为链表头部***初始链表,得到第一中间链表;
***子单元423,用于根据预设的光条扫描顺序获取多个骨架点包括的第二骨架点,并将第二骨架点作为链表尾部***第一中间链表,得到第二中间链表;
***子单元423,还用于根据光条扫描顺序获取多个骨架点包括的第三骨架点,并根据第三骨架点与第一骨架点和第二骨架点两者之间的距离大小将第三骨架点***第二中间链表的表头或表尾,得到顺序链表。
作为一种可选的实施方式,第一计算单元430包括法线方向计算子单元431,该法线方向计算子单元431用于以多个骨架点中的每个骨架点为中心点获取对应的多组第一预设半径内拟合点;根据最小二乘法对多组第一预设半径内拟合点进行拟合计算,得到多个拟合直线;确定多个拟合直线对应的多个法线方向为多个骨架点的法线方向。
作为一种可选的实施方式,第一计算单元430包括骨架曲率计算子单元432,该骨架曲率计算子单元432用于以多个骨架点中的每个骨架点为中心点获取对应的多组第二预设半径内双端点,并计算多组第二预设半径内双端点之间的多个距离,得到弦长集合;计算中心点到多组第二预设半径内双端点所连成直线的多个距离,得到拱高集合;根据弦长集合和拱高集合遍历计算顺序链表中多个骨架点的骨架曲率。
作为一种可选的实施方式,弦长集合包括的数据、拱高集合包括的数据以及多个骨架点的骨架曲率是一一对应的,其中,多个骨架点的骨架曲率中单个骨架点的骨架曲率的计算公式包括:
R=H/2+L2/(8H);
ρ=1/R;
其中,R为曲率半径;
L为弦长;
H为拱高;
ρ为骨架曲率。
作为一种可选的实施方式,第二计算单元440包括:
计算子单元441,用于根据预设的最大切线宽度值、预设的最小切线宽度值以及骨架曲率进行计算,得到骨架切线长度值;
确定子单元442,用于根据法线方向、预设的法线长度值以及骨架切线长度值进行确定得到亚像素区域;
提取子单元443,用于在亚像素区域中进行信息提取,得到光条中心亚像素信息
在本实施例中,根据预设的最大切线宽度值、预设的最小切线宽度值以及骨架曲率进行计算,得到骨架切线长度值的操作包括:
获取预设的最小曲率和预设的最大曲率;
根据预设的最大切线宽度值、预设的最小切线宽度值、最小曲率、最大曲率、骨架曲率以及预设的骨架切线长度计算公式进行计算,得到骨架切线长度值;其中,
骨架切线长度计算公式包括:
Wt=(ρ-ρmin)*(Wtmax-Wtmin)/(ρmax-ρmin)+Wtmin;
其中,ρ为骨架曲率;
ρmax为最大曲率;
ρmin为最小曲率;
Wtmax为最大切线宽度值;
Wtmin为最小切线宽度值;
Wt为骨架切线长度值。
本实施例中,该光条中心亚像素的提取装置可以引用本申请实施例1、实施例2或实施例3中的任意解释或说明,对此本实施例中不再多加赘述。
可见,实施图5所描述的光条中心亚像素的提取装置,能够通过多个单元的组合工作实现对光条任意方向亚像素中心的准确提取,从而进一步提高了激光线扫三维重建精度和重建的效率。
本申请实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行根据本申请实施例1、实施例2或实施例3中任一项光条中心亚像素的提取方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本申请实施例1、实施例2或实施例3中任一项光条中心亚像素的提取方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:焊接方法、设备和存储介质