掌桥专利:专业的专利平台
掌桥专利
首页

图像滤波方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 18:34:06


图像滤波方法、装置、电子设备和存储介质

技术领域

本公开涉及图像处理技术领域,尤其涉及一种图像滤波方法、装置、电子设备和存储介质。

背景技术

图像滤波始终是图像处理研究领域中一项重要的技术,图像滤波是用于去除或减少噪声并改善再现图像的质量的过程。其中,高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。

通常,在图像处理过程中,会先采用小窗口的高斯滤波对图像进行降噪。然而,对于具有特定灰度特征的光条纹图像,在进行高斯滤波后,窗口内中间亚像素点与边缘亚像素点的灰度值会相互影响,从而对光条纹图像的灰度特征造成破坏,降低了对图像特征提取的准确性。

发明内容

为了解决上述技术问题,本公开提供了一种图像滤波方法、装置、电子设备和存储介质,以避免不同亮度等级之间的亚像素点灰度值的相互影响,提高对图像特征提取的准确性。

第一方面,本公开提供了一种图像滤波方法,包括:

获取待滤波光条纹图像,所述待滤波光条纹图像包括原始光条纹;

确定所述原始光条纹上的多条等级线,其中,所述等级线反映了所述原始光条纹中心点法向上的亚像素点到对应中心点的距离;

分别在每一级所述等级线内进行灰度高斯滤波。

第二方面,本公开提供了一种图像滤波装置,包括:

图像获取模块,用于获取待滤波光条纹图像,所述待滤波光条纹图像包括原始光条纹;

等级线确定模块,用于确定所述原始光条纹上的多条等级线,其中,所述等级线反映了所述原始光条纹中心点法向上的亚像素点到对应中心点的距离;

滤波模块,用于分别在每一级所述等级线内进行灰度高斯滤波。

第三方面,本公开提供了一种电子设备,包括:

处理器;

存储器,用于存储可执行指令;

其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述第一方面所述的图像滤波方法。

第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述第一方面所述的图像滤波方法。

本公开实施例提供的技术方案与现有技术相比具有如下优点:

本公开实施例提供的技术方案通过确定滤波光条纹图像中原始光条纹上的多条等级线,分别在每一级等级线内进行高斯滤波,从而避免了由于目前各项同性的高斯滤波而导致的光条纹上不同级次间的灰度相互影响(灰度相互扩散)的问题,实现了各向异性的高斯滤波,进而防止光条纹图像的灰度特征受到破坏,提高了光条纹图像特征提取的准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种图像滤波方法的流程示意图;

图2为本公开实施例提供的一种获取待滤波光条纹图像的场景示意图;

图3为本公开实施例提供的十点拟合中心点方向的示意图;

图4为本公开实施例提供的沿中心点法向确定各级次等级线的示意图;

图5为本公开实施例提供的采用双线性插值法插值亚像素灰度值的示意图;

图6为本公开实施例提供的搜索相邻中心点的示意图;

图7为本公开实施例提供的搜索第二目标中心点以及补点的示意图;

图8为本公开实施例提供的图像滤波装置的结构框图;

图9为本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

本公开实施例中,三维扫描仪的投射器投射线结构光至被测物体表面,经被测物体表面调制后由相机采集。本公开涉及的待滤波光条纹图像为相机采集的经被测物体表面调制后的线结构光的图像,原始光条纹为待滤波光条纹图像中的光条纹,可以包括激光线或光栅条纹等。在三维重建技术中,原始光条纹为激光线。

图1为本公开实施例提供的一种图像滤波方法的流程示意图。本方法适用于对光条纹图像进行滤波的情况,其中,光条纹图像中的光条纹的灰度在光条纹的横截面上呈特定分布,如高斯分布。本方法可以由图像滤波装置来执行,该图像滤波装置可以采用软件和/或硬件的方式实现。如图1所示,本方法包括以下步骤:

S110、获取待滤波光条纹图像。

其中,待滤波光条纹图像包括原始光条纹。待滤波光条纹图像为未经过滤波的光条纹图像,可以为线激光投射到物体上后采集到的激光线条纹图像,也可以为LED光经光栅调制后采集到的光条纹图像。可以理解的是,本公开对待滤波光条纹图像不作限制,只要待滤波光条纹图像中的原始光条纹的灰度在原始光条纹的横截面上呈特定分布即可。

示例性的,参考图2,待滤波光条纹图像(图2示意性示出了由第一相机31拍摄的待滤波光条纹图像41和由第二相机32拍摄的待滤波光条纹图像42)为投射器1将线结构光投射到物体2表面后,通过相机(第一相机31和第二相机32)拍摄的该物体2表面的图像。该待滤波光条纹图像可包含该物体2表面的三维轮廓信息,是物体2表面三维重构的基础。另外,投射器1投射出的线结构光是一层具有厚度的光平面,该光平面在物体表面上会形成具有一定宽度的光条纹,相机拍摄到的光条纹即为本公开涉及的原始光条纹,如待滤波光条纹图像41包括原始光条纹411,待滤波光条纹图像42包括原始光条纹421。本公开实施例中,投射器可以为激光器,相应的,原始光条纹为激光线。可以理解的是,图2仅示意性示出了一个投射器1,本公开实施例也可应用于两个或多个投射器的投射系统,以实现从不同的方向向物体2投射线结构光。另外,为了使相机能够拍摄到不同的投射器投射至物体表面的原始光条纹,各投射器交替投射线结构光。

S120、确定原始光条纹上的多条等级线。

其中,等级线反映了原始光条纹中心点法向上的亚像素点到对应中心点的距离。任一级等级线均由在原始光条纹的延伸方向上的的等级点(对应为亚像素点)组成。因此,在一些实施例中,可以先找出各级次等级线的等级点,分别根据各级次等级点拟合出等级线。由于等级线是沿原始光条纹的横向分布的,为了找出不同等级线的等级点,首先应确定原始光条纹的中心点的法向(同下文中目标光条纹的法向,即基准法向)。

相应的,在一些实施例中,确定原始光条纹上的多条等级线,包括:

步骤A、提取目标光条纹图像中目标光条纹的中心点。

其中,目标光条纹图像为待滤波光条纹图像或待滤波光条纹图像经滤波后的去噪光条纹图像,目标光条纹对应原始光条纹。在一个示例中,目标光条纹图像为待滤波光条纹图像,相应的,目标光条纹为原始光条纹。此时,可直接基于待滤波光条纹图像提取中心点以及后续步骤(如确定中心点法向、确定等级线以及在每一级等级线内进行灰度高斯滤波等)。在另一个示例中,目标光条纹图像为待滤波光条纹图像经滤波(如高斯滤波)后的去噪光条纹图像,相应的,目标光条纹为原始光条纹经滤波后的去噪光条纹。可以理解的是,相比于目标光条纹图像为待滤波光条纹图像,目标光条纹图像为待滤波光条纹图像经滤波后的去噪光条纹图像可以减少大部分噪声的影响,从而提高中心点提取的准确性。

在一些实施例中,提取目标光条纹图像中目标光条纹的中心点,包括:沿预设提线方向获取目标光条纹的灰度特征;基于灰度特征确定目标光条纹的中心点。

本公开实施例中,预设提线方向可以为像素坐标系中的u轴方向或v轴方向。预设提线方向也可以为与目标光条纹的基准法向的夹角小于预设角度的目标提线方向,基准方向基准法向表征了目标光条纹的中心点法向的粗略方向,预设角度的大小限定了预设提线方向与目标光条纹接近垂直的程度。在一个示例中,沿预设提线方向获取目标光条纹的灰度特征可以包括:从像素坐标系下的多个预设提线方向中选取与基准法向的夹角小于预设角度的至少一个目标提线方向;沿其中一个目标提线方向或者与与基准法向的夹角最小的目标提线方向获取目标光条纹的灰度特征。之后,基于灰度特征确定目标光条纹的中心点,可以采用目前单向提线方法例如灰度重心法或极值法等,进行目标光条纹的中心点的提取,此处不赘述。

步骤B、基于目标光条纹的中心点,确定目标光条纹各中心点的法向。

由于物体表面可能是凹凸不平的以及中心点的提取偏差,因此目标光条纹会随之发生弯曲,由此,为了精确得到各等级线,需要确定提取到的各中心点的法向。

具体的,基于目标光条纹的中心点,确定目标光条纹各中心点的法向包括:对于目标光条纹的任一中心点,确定任一中心点一侧或两侧至少一个相邻的中心点;基于任一中心点以及至少一个相邻的中心点,拟合出任一中心点的法向。

示例性的,如图3所示,目标光条纹的任一中心点为中心点ct,中心点ct左侧获取5个中心点p1、p2、p3、p4和p5,右侧获取5个中心点p6、p7、p8、p9和p10,由上述各中心点拟合出一条曲线,得到过中心点ct的切线,进而得到垂直于该切线并过中心点ct的法向。如此,可以遍历目标光条纹各中心点的法向。

步骤C、以目标光条纹各中心点的法向为原始光条纹的基准法向,在原始光条纹上沿基准法向找出等级线。

具体的,参考图4,在原始光条纹上沿基准法向找出等级线(图中的虚线表示各级次的等级线),包括:以目标光条纹的中心点为基准,在原始光条纹上对应位置拟合出第一级次的等级线;以目标光条纹的各中心点的位置为初始位置,分别沿基准法向的正向和负向,按照预设步长在原始光条纹上分别获取第二级次的等级点、第三级次的等级点以及第四级次的等级点(对应图中示意性示出的亚像素点),在本发明申请中,第二级次的等级点距离中心点单位步长step,第三级次的等级点距离中心点双倍单位步长,第四级次的等级点距离中心点三倍单位步长;进而分别基于第二级次的等级点、第三级次的等级点以及第四级次的等级点,拟合出第二级次的等级线、第三级次的等级线以及第四级次的等级线,即第二级次的等级线通过位于第一级次的等级线同一侧的多个第二级次的等级点拟合,第三级次的等级线通过位于第一级次的等级线同一侧的多个第三级次的等级点拟合,第四级次的等级线通过位于第一级次的等级线同一侧的多个第四级次的等级点拟合。需要说明的是,不同中心点对应的设定步长可相同也可不相同,具体视实际情况而定。

S130、分别在每一级等级线内进行灰度高斯滤波。

基于上述方案,在一些实施例中,分别在每一级等级线内进行灰度高斯滤波,包括:获取第一级次的等级线、第二级次的等级线、第三级次的等级线和第四级次的等级线的各等级点的亚像素坐标;分别基于各级次等级线的等级点的亚像素坐标,采用双线性插值法插值出各级次等级线的等级点对应的亚像素灰度值;基于等级线的等级点对应的亚像素灰度值在等级线内进行灰度高斯滤波。

示例性的,参见图5,当前亚像素点的亚像素坐标为(x,y),根据当前亚像素点的亚像素坐标(x,y),可以确定当前亚像素点周围4个整像素的坐标分别为(int(x),int(y))、(int(x)+1,int(y))、(int(x),int(y)+1)和(int(x)+1,int(y)+1),其中int()表示向下取整,进而可以确定4个整像素对应的整像素灰度值。如此,采用双线性插值法插值出各亚像素点对应的亚像素灰度值可通过以下公式确定:

G=G

其中:

G

G

I()表示整像素灰度值。

在得到各等级点的亚像素灰度值之后,分别基于每一级等级线上等级点的亚像素灰度值,在每一级等级线内进行灰度高斯滤波,从而对任一等级线内的灰度值加权平均,使得任一等级线内的灰度值得到平滑处理,而不同等级线内的灰度值互不影响。

本公开实施例提供的图像滤波方法,通过确定滤波光条纹图像中原始光条纹上的多条等级线,分别在每一级等级线内进行灰度高斯滤波,从而避免了由于目前各项同性的高斯滤波而导致的光条纹上不同级次间的灰度相互影响的问题,实现了各向异性的高斯滤波,进而防止光条纹图像的灰度特征受到破坏,提高了光条纹图像特征提取的准确性。

另外,在一些实施例中,在分别在每一级等级线内进行灰度高斯滤波之后,还包括:以基准法向为提线方向,基于等级线的等级点对应的亚像素灰度值,提取原始光条纹的中心点,得到新的中心点。如此,基于分别在每一级等级线内进行灰度高斯滤波得到的原始光条纹,由于该灰度高斯滤波不会对原始光条纹的灰度特征造成损坏,有效避免了原始光条纹中心点的偏移,进而再提取原始光条纹的中心点,可以得到位置较为精准的中心线。本方案中,基于等级线的等级点对应的亚像素灰度值,提取原始光条纹的中心点,可采用极值法或灰度重心法等提线方法,本公开对此不作限制。考虑到单方向提线的方式均存在中心点漏提的问题,从而得到一些稀疏的中心点。如果这些稀疏的中心点基于现有既定的拓扑搜索规则无法搜索到相邻中心点,或者无法聚类成大于小线段点数阈值的长线段,则会被认为是杂散点或杂线段而被误删,进一步降低了中心点提取的完整性。对此,在一个实施例中,在以基准法向为提线方向,基于等级线的等级点对应的亚像素灰度值,提取原始光条纹的中心点,得到新的中心点之后,还包括:对新的中心点的稀疏中心点进行补点。具体的,对新的中心点的稀疏中心点进行补点,包括:基于新的中心点确定第一目标中心点,其中,第一目标中心点为构成第一拓扑线段的多个连续中心点的端点,或者为无相邻中心点的第一独立中心点;按照预设搜索规则搜索距离第一目标中心点最近的第二目标中心点,其中,第二目标中心点为构成第二拓扑线段的多个连续中心点的端点,或者为无相邻中心点的第二独立中心点;如果搜索到第二目标中心点,则在第一目标中心点与第二目标中心点之间进行补点。

理论上,原始光条纹所有的中心点会连成一条连续的线段,即中心线,实际上,由于中心点提取偏差的存在,提取的中心点能够聚类成多条线段(一条线段即为一条拓扑线段),而由于中心线应是连续的,因此需要在一条拓扑线段的端点与另一条拓扑线段的端点之间进行补点,或者在无相邻中心点的独立中心点与一条拓扑线段的端点或者另一个独立中心点之间进行补点。基于此,本实施例先基于新的中心点确定第一目标中心点,其中,第一目标中心点为构成第一拓扑线段的多个连续中心点的端点,或者为无相邻中心点的第一独立中心点。构成第一拓扑线段的多个连续中心点的端点为多个连续中心点中的首点和/或尾点。

在一些实施例中,基于中心点确定第一目标中心点,包括:基于中心点建立中心点的拓扑关系,拓扑关系表征了中心点的邻接关系;基于拓扑关系确定至少一侧不存在拓扑点的中心点,并将该中心点确定为第一目标中心点。

具体的,中心点的位置按照像素坐标进行存储,例如,中心点的亚像素坐标为(1.1,1.2),则存储的该中心点的位置为像素坐标(1,1)。参考图6,对于每个中心点(图中以中心点p为例),按照已有的搜索规则搜索与该中心点相邻的中心点,即依次按照图6中的像素A、B、C和D的顺序搜索中心点,同时遍历所有的上述存储的像素坐标,如果像素A、B、C和D中的任一像素的像素坐标与存储的像素坐标相同,则确定该中心点存在拓扑关系;否则,该中心点不存在拓扑关系。在确定各中心点的拓扑关系之后,可以基于拓扑关系直接确定只有一侧不存在拓扑点的中心点,该中心点即为第一目标中心点。具体的,假如激光线方向为从左上到右下,如果基于拓扑关系确定中心点的左侧不存在拓扑点,右侧存在拓扑点,则该中心点为第一拓扑线段的首点;如果基于拓扑关系确定中心点的右侧不存在拓扑点,左侧存在拓扑点,则该中心点为第一拓扑线段的尾点。另外,上述技术方案中,还可以基于拓扑关系能够确定存在拓扑关系的中心点,进而可得到不存在拓扑关系(即两侧均不存在拓扑点)的中心点,从而确定该中心点为第一独立中心点。可以理解的是,本公开提及的中心点的一侧或两侧是指中心点在激光线方向上的一侧或两侧。

为实现提取的中心线的连续性,需找到与第一目标中心点对应的第二目标中心点。本公开实施例中,先照预设搜索规则搜索距离第一目标中心点最近的中心点,再基于上述拓扑关系确定第二目标中心点,且第一目标中心点与第二目标中心点满足以下任一关系:当第一目标中心点为第一拓扑线段的首点时,第二目标中心点为第二拓扑线段的尾点或者为第二独立中心点;当第一目标中心点为第一拓扑线段的尾点时,第二目标中心点为第二拓扑线段的首点或者为第二独立中心点;当第一目标中心点为第一独立中心点时,第二目标中心点为第二拓扑线段的端点或者为第二独立中心点。

另外,预设搜索规则包括:基于第一目标中心点的位置确定用于搜索第一目标中心点相邻中心点的第一像素(如上述像素A、B、C和D),确定与第一像素邻接的第二像素和第三像素以及与第二像素和第三像素邻接的第四像素和第五像素,依次搜索第二像素、第三像素第四像素和第五像素。

示例性的,参见图7,第一目标中心点为中心点p,基于中心点p的位置确定用于搜索中心点p相邻中心点的第一像素,如图包括像素A、B、C和D,依次搜索纵向上与像素B相邻的像素E、横向上与像素E相邻的像素F、纵向上与像素E相邻的像素G以及横向上与像素G相邻的像素H,如果搜索到中心点,则判断该中心点是否为第二拓扑线段的首点或者为第二独立中心点;如果该中心点为第二拓扑线段的首点或者为第二独立中心点,则该中心点为第二目标中心点。

上述方案中,可按照从原始光条纹的线头到线尾的方向搜索第一目标中心点和第二目标中心点,或者按照从原始光条纹的线尾到线头的方向搜索第一目标中心点和第二目标中心点。例如,按照从原始光条纹的线头到线尾的方向搜索第一目标中心点和第二目标中心点,此时,在一个示例中,第一目标中心点为尾点,第二目标中心点为首点。即沿着原始光条纹的单一方向搜索获取第一目标中心点和第二目标中心点,避免重复搜索导致计算量大的问题。

如果搜索到第二目标中心点,则说明第一目标中心点与第二目标中心点之间存在漏提的中心点,需要在第一目标中心点与第二目标中心点之间进行补点。

在一些实施例中,在第一目标中心点与第二目标中心点之间进行补点,包括:在第一目标中心点与第二目标中心点之间进行线性插值,得到多个插补点。具体的,参考图7,直线连接第一目标中心点p和第二目标中心点pn,在第一目标中心点p和第二目标中心点pn的连接线上,选取纵轴坐标为像素纵坐标(本实施例中像素坐标位于像素中心点)的点,得到插补点ps。

上述技术方案,通过对中心点进行补点,提高了中心点提取的完整性。但是,可能存在中心点多补或者部分噪声点被误认为第二目标中心点的情况。针对该技术问题,在一些实施例中,在如果搜索到第二目标中心点,则在第一目标中心点与第二目标中心点之间进行补点之后,还包括:判断补点得到的插补点的有效性;如果插补点有效,则保留插补点;如果插补点无效,则删除插补点。如此,通过对插补点进行有效性的判断,能够删除错误的插补点,在保证中心点提取完整性的情况下,避免引入噪声点。

具体的,判断补点得到的插补点的有效性,包括:判断插补点处的灰度值是否大于中心点灰度阈值(通常设置为5);如果插补点处的灰度值大于中心点灰度阈值,则判断沿插补点的法向上且距离插补点的预设距离内是否存在灰度极值点;如果存在灰度极值点,则判定插补点有效;如果插补点处的灰度值小于或等于中心点灰度阈值,或者不存在灰度极值点,则判定插补点无效。

如果插补点有效,插补点必定位于中心点的附近或者为中心点,首先可以通过判断插补点处的灰度值是否大于中心点灰度阈值,如果插补点处的灰度值大于中心点灰度阈值,则进一步判断插补点附近是否存在灰度极值点,否则,直接判定插补点无效。以激光线的灰度呈高斯分布为例,如果插补点处的灰度值大于中心点灰度阈值,且插补点附近存在灰度极大值点,则插补点有效。如果插补点处的灰度值小于或等于中心点灰度阈值,或者插补点处的灰度值大于中心点灰度阈值,但插补点附近不存在灰度极大值点,则插补点无效。可以理解的是,上述灰度极值点可以用灰度梯度的0值点表征。

另外,由于上述技术方案直接采用线性插值得到插补点,即提取对应的中心点通常存在偏差。为此,本公开实施例对补点后得到的中心点进行二次优化,以改善中心点的偏差问题。因此,在如果搜索到第二目标中心点,则在第一目标中心点与第二目标中心点之间进行补点之后,还包括:对补点后的中心点进行优化,以对中心线进行平滑处理。具体的,对于每个中心点,基于原始光条纹沿中心点法向上的灰度特征,确定灰度极值点;基于灰度极值点更新原始光条纹的中心点。

在一个示例中,可采用上述实施例的方法插值出各等级线上的亚像素灰度值,原始光条纹沿中心点法向上的灰度特征即为原始光条纹沿中心点法向上的等级线的灰度分布,从而基于该灰度分布确定灰度极值点,将灰度极值点更新为中心点。

基于上述各实施例,在一个具体实施例中,提供了一个光条纹中心点提取方法,具体包括:

步骤a、初步提取光条纹的中心点;

步骤b、基于光条纹沿中心点法向上的灰度特征,对光条纹进行各向异性滤波,并提取各向异性滤波后的光条纹的中心点;

步骤c、对提取的各向异性滤波后的光条纹的中心点进行补点;

步骤d、对补点后的中心点进行优化,以对中心线进行平滑处理。

基于上述步骤能够提取到准确且完整的光条纹的中心点,从而基于上述步骤得到的中心点用于三维重建时,可提高三维重建的准确性以及完整性。上述步骤的详细描述均可参见本公开上述各实施例,其中,步骤a可采用本公开实施例涉及的目标光条纹的中心点提取方法,步骤b中“基于光条纹沿中心点法向上的灰度特征,对光条纹进行各向异性滤波”可采用本公开提供的图像滤波方法实现,此处不再赘述。另外,需要说明的是,在其他实施例中,可在步骤a之后执行步骤b、步骤c和步骤d中的任意一步骤或任意两步骤,需要注意的是,对于步骤c和步骤d中所处理的中心点应替换为前一步骤得到的中心点,例如一个实施例中包括上述步骤a和步骤c,此时步骤c应替换为对初步提取的光条纹的中心点进行补点,又如一个实施例中包括上述步骤a、步骤b和步骤d,此时步骤d应替换为对提取的各向异性滤波后的光条纹的中心点进行优化,以对中心线进行平滑处理。其他情况可参照替换,此处不再一一列举。

本公开实施例还提供了一种用于实现上述的图像滤波方法的图像滤波装置,下面结合图8进行说明。图8为本公开实施例提供的一种图像滤波装置的结构框图。如图8所示,该图像滤波装置包括图像获取模块21、等级线确定模块22和滤波模块23。

其中,图像获取模块21用于获取待滤波光条纹图像,待滤波光条纹图像包括原始光条纹;

等级线确定模块22用于确定原始光条纹上的多条等级线,其中,所述等级线反映了所述原始光条纹中心点法向上的亚像素点到对应中心点的距离;

滤波模块23用于分别在每一级等级线内进行灰度高斯滤波。

在一些实施例中,等级线确定模块22包括:

中心点提取单元,用于提取目标光条纹图像中目标光条纹的中心点,目标光条纹图像为待滤波光条纹图像或待滤波光条纹图像经滤波后的去噪光条纹图像,目标光条纹对应原始光条纹;

法向确定单元,用于基于目标光条纹的中心点,确定目标光条纹各中心点的法向;

等级线遍历单元,用于以目标光条纹各中心点的法向为原始光条纹的基准法向,在原始光条纹上沿基准法向找出等级线。

在一些实施例中,法向确定单元具体用于:

对于目标光条纹的任一中心点,确定任一中心点一侧或两侧至少一个相邻的中心点;

基于任一中心点以及至少一个相邻的中心点,拟合出任一中心点的法向。

在一些实施例中,等级线遍历单元具体用于:

以目标光条纹的中心点为基准,在原始光条纹上对应位置拟合出第一级次的等级线;

以目标光条纹的各中心点的位置为初始位置,分别沿基准法向的正向和负向,按照预设步长在原始光条纹上分别获取第二级次的等级点、第三级次的等级点以及第四级次的等级点;

分别基于第二级次的等级点、第三级次的等级点以及第四级次的等级点,拟合出第二级次的等级线、第三级次的等级线以及第四级次的等级线。

在一些实施例中,滤波模块23包括:

亚像素坐标获取单元,用于获取第一级次的等级线、第二级次的等级线、第三级次的等级线和第四级次的等级线的各等级点的亚像素坐标;

亚像素灰度值差值单元,用于分别基于各级次等级线的等级点的亚像素坐标,采用双线性插值法插值出各级次等级线的等级点对应的亚像素灰度值;

高斯滤波单元,用于基于等级线的等级点对应的亚像素灰度值在等级线内进行高斯滤波。

在一些实施例中,还包括:

中心点提取模块,用于在分别在每一级等级线内进行灰度高斯滤波之后,以基准法向为提线方向,基于等级线的等级点对应的亚像素灰度值,提取原始光条纹的中心点,得到新的中心点。

在一些实施例中,还包括补点模块,用于:

在以基准法向为提线方向,基于等级线的等级点对应的亚像素灰度值,提取原始光条纹的中心点,得到新的中心点之后,对原始光条纹的稀疏中心点进行补点。

在一些实施例中,补点模块具体用于:

基于新的中心点确定第一目标中心点,其中,第一目标中心点为构成第一拓扑线段的多个连续中心点的端点,或者为无相邻中心点的第一独立中心点;

按照预设搜索规则搜索距离第一目标中心点最近的第二目标中心点,其中,第二目标中心点为构成第二拓扑线段的多个连续中心点的端点,或者为无相邻中心点的第二独立中心点;

如果搜索到第二目标中心点,则在第一目标中心点与第二目标中心点之间进行补点。

在一些实施例中,还包括中心点优化模块,用于:

在对新的中心点的稀疏中心点进行补点之后,对中心点进行优化,以对中心线进行平滑处理。

在一些实施例中,中心点优化模块具体用于:

对于每个中心点,基于原始光条纹沿中心点法向上的灰度特征,确定灰度极值点;

基于灰度极值点更新原始光条纹的中心点。

需要说明的是,图8所示的图像滤波装置可以执行图1所示的方法实施例中的各个步骤,并且实现图1所示的方法实施例中的各个过程和效果,在此不做赘述。

图9示出了本公开实施例提供的一种电子设备的结构示意图。

如图9所示,该电子设备可以包括处理器301以及存储有计算机程序指令的存储器302。

具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器302可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器302可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在综合网关设备的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。

处理器301通过读取并执行存储器302中存储的计算机程序指令,以执行本公开实施例所提供的图像滤波方法的步骤。

在一个示例中,该电子设备还可包括收发器303和总线304。其中,如图9所示,处理器301、存储器302和收发器303通过总线304连接并完成相互间的通信。

总线304包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线304可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

以下是本公开实施例提供的计算机可读存储介质的实施例,该计算机可读存储介质与上述各实施例的图像滤波方法属于同一个发明构思,在计算机可读存储介质的实施例中未详尽描述的细节内容,可以参考上述图像滤波方法的实施例。

本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种图像滤波方法,该方法包括:

获取待滤波光条纹图像,待滤波光条纹图像包括原始光条纹;

确定原始光条纹上的多条等级线,其中,等级线反映了原始光条纹中心点法向上的亚像素点到对应中心点的距离;

分别在每一级等级线内进行灰度高斯滤波。

当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本公开任意实施例所提供的图像滤波方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机云平台(可以是个人计算机,服务器,或者网络云平台等)执行本公开各个实施例所提供的图像滤波方法。

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

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115617781