本发明属于结构光处理技术领域,具体涉及一种基于黑色件结构光扫描的相位放大计算方法。
背景技术:
对黑色件进行光栅三维扫描重建,需要对扫描物体投射一系列结构光光栅,光栅经物体表面调制后,被摄像头捕捉。关键核心技术在于精确得到黑色件成像上每个像素点的精确相位。如果直接使用摄像头所捕捉图像的像素灰度计算相位,会因为黑色件对光线的吸收,产生很大噪声,对相位的计算不准确,使得三维重建后的误差很大。
技术实现要素:
本发明的发明目的是:为了解决现有技术中存在的以上问题,本发明提出了一种基于黑色件结构光扫描的相位放大计算方法。
本发明的技术方案是:一种基于黑色件结构光扫描的相位放大计算方法,包括以下步骤:
a、对结构光进行预处理,获取多个移动波形;
b、根据步骤a中的移动波形生成多个投射光栅;
c、将步骤b中的投射光栅依次投影到黑色件上,并采用ccd相机分别捕捉黑色件表面图像;
d、将步骤c中黑色件表面图像的每个像素点的灰度值进行放大处理;
e、根据步骤d放大处理后的像素点的灰度值计算各个像素点的相位。
进一步地,所述步骤a中结构光采用具有一定周期的正弦结构光。
进一步地,所述步骤a中对结构光进行预处理,获取多个移动波形具体为:
设定结构光初始波形的平移次数n,将结构光初始波形平移n次后回到初始状态,得到平移过程中的多个移动波形,并按照平移顺序依次标记为p1,p2,p3...,pn。
进一步地,所述步骤b中投射光栅的纵向像素点灰度值相同,横向像素点灰度值随移动波形变化。
进一步地,所述步骤c中黑色件表面图像的像素点灰度值表示为
其中,i(n)表示某一个像素点在第n幅图像jn上的灰度值,a表示幅度比例因子,b表示与黑色件的基色相关的参量,ω0表示平移过程中相邻两个波形的相移,φ表示图像jn上的结构光正弦波相位。
进一步地,所述步骤d将步骤c中黑色件表面图像的每个像素点的灰度值进行放大处理,具体包括以下分步骤:
d1、将步骤c中捕捉的多张黑色件表面图像按顺序排列作为初始图像序列;
d2、将步骤d1中初始图像序列的每张图像分别进行高斯金字塔分解处理,选取最上层图像,形成新的图像序列;
d3、将步骤d2中新的图像序列的图像中所有像素点由二维坐标系映射到一维坐标系,构建灰度值变化模型;
d4、对步骤d3中灰度值变化模型进行理想带通滤波处理,得到像素点变化灰度值;
d5、将步骤d4中像素点变化灰度值进行放大处理,并与步骤d3中灰度值变化模型进行相加,得到像素点放大后的灰度值;
d6、将步骤d5中放大后的像素点映射到二维坐标系,恢复各像素点在图像中的初始位置,得到灰度值放大后的图像序列。
进一步地,所述步骤d3中构建的灰度值变化模型表示为
其中,x表示像素点在一维坐标系中的坐标,n表示图像序号,i(x,n)表示灰度值关于x和n的变化函数,f(x)表示灰度值关于x的变化函数,δ(n)表示与灰度值变化相关的位移函数。
进一步地,所述步骤d4中像素点变化灰度值表示为
其中,b(x,n)表示像素点变化灰度值。
进一步地,所述步骤d5中像素点放大后的灰度值表示为
其中,
进一步地,所述步骤e根据步骤d放大处理后的像素点的灰度值计算各个像素点的相位的计算公式为
其中,a、b表示临时参数,m(n)表示像素点在第n幅图像jn上的灰度值i(n)放大后的值,φ表示像素点的相位。
本发明的有益效果是:本发明通过将投影光栅投影到黑色件表面进行捕捉图像,并将图像中的每个像素点的灰度值进行放大处理,利用放大后的像素点灰度值计算各个像素点的相位,能够减小噪声干扰,有效提高相位计算精度。
附图说明
图1为本发明的基于黑色件结构光扫描的相位放大计算方法的流程示意图;
图2为本发明实施例中灰度值放大流程示意图;
图3为本发明实施例中采用现有技术处理后的黑色件表面像素点灰度值的变化结果示意图;
图4为本发明实施例中采用本发明方法处理后的黑色件表面像素点灰度值的变化结果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明的基于黑色件结构光扫描的相位放大计算方法的流程示意图。一种基于黑色件结构光扫描的相位放大计算方法,其特征在于,包括以下步骤:
a、对结构光进行预处理,获取多个移动波形;
b、根据步骤a中的移动波形生成多个投射光栅;
c、将步骤b中的投射光栅依次投影到黑色件上,并采用ccd相机分别捕捉黑色件表面图像;
d、将步骤c中黑色件表面图像的每个像素点的灰度值进行放大处理;
e、根据步骤d放大处理后的像素点的灰度值计算各个像素点的相位。
在本发明的一个可选实施例中,上述步骤a中结构光采用具有一定周期的正弦结构光,正弦结构光的周期可以根据不同需求进行人为选择,这里也可以针对其它类型的结构光采用本发明的相位放大方法进行处理。本发明利用对黑色件微弱反射光系列进行放大后求相位,其他形式的结构光只要满足投射到黑色件上的结构光系列之间存在变化,即可采用本发明的相位放大方法进行处理。
本发明首先设定结构光初始波形的平移次数n,将结构光初始波形p1平移n次后回到初始状态,即结构光初始波形p1平移n次后的波形与初始波形p1相同,从而可以得到平移过程中的多个移动波形,并按照平移顺序依次标记为p1,p2,p3...,pn。
在本发明的一个可选实施例中,上述步骤b根据步骤a中的移动波形p1,p2,p3...,pn生成多个投射光栅c1,c2,c3...cn,投射光栅的纵向像素点灰度值相同,横向像素点灰度值随移动波形变化。
在本发明的一个可选实施例中,上述步骤c将步骤b中的投射光栅c1,c2,c3...cn依次投影到黑色件上,并采用ccd相机按照顺序分别捕捉黑色件表面图像,每采用一个投射光栅投影到黑色件上,即采用ccd相机捕捉一张黑色件表面图像。
上述黑色件表面图像的像素点灰度值表示为
其中,i(n)表示某一个像素点在第n幅图像jn上的灰度值,a表示幅度比例因子,b表示与黑色件的基色相关的参量,ω0表示平移过程中相邻两个波形的相移,φ表示图像jn上的结构光正弦波相位,这里的结构光正弦波相位是该结构光相对于标准正弦波(相位为0)的相位。
在本发明的一个可选实施例中,如图2所示,为本发明实施例中灰度值放大流程示意图。上述步骤d将步骤c中黑色件表面图像的每个像素点的灰度值进行放大处理,具体包括以下分步骤:
d1、将步骤c中捕捉的多张黑色件表面图像按顺序排列作为初始图像序列;
d2、将步骤d1中初始图像序列的每张图像分别进行高斯金字塔分解处理,选取最上层图像,形成新的图像序列;
d3、将步骤d2中新的图像序列的图像中所有像素点由二维坐标系映射到一维坐标系,构建灰度值变化模型;
其中像素点由二维坐标系映射到一维坐标系具体为将图片矩阵h行w列个像素点按坐标顺序排列为w*h行、1列的矩阵,此时一个像素点的原二维坐标可由该点在新生成矩阵中的行数一维表示。因此根据像素点在第n幅图像jn上的灰度值i(n)变换为灰度值变化函数,表示为
i(x,n)=f(x+δ(n))
i(x,0)=f(x)
由于在正弦波形成的光栅投影下,捕捉到的图像中各相邻像素点灰度值连续变化,所以函数i(x,n)对x连续,对上式采用一阶泰勒级数逼近,得到灰度值变化模型,表示为
其中,x表示像素点在一维坐标系中的坐标,n表示图像序号,i(x,n)表示灰度值关于x和n的变化函数,f(x)表示灰度值关于x的变化函数,δ(n)表示与灰度值变化相关的位移函数。
d4、对步骤d3中灰度值变化模型进行理想带通滤波处理,得到像素点变化灰度值,表示为
其中,b(x,n)表示像素点变化灰度值。
d5、将步骤d4中像素点变化灰度值进行放大处理,具体为将步骤d4中像素点变化灰度值乘上一个放大因子α,表示为
再与步骤d3中灰度值变化模型进行相加,得到像素点放大后的灰度值,表示为
其中,
d6、将步骤d5中放大后的像素点映射到二维坐标系,恢复各像素点在图像中的初始位置,得到灰度值放大后的图像序列。
其中将放大后的像素点映射到二维坐标系,恢复各像素点在图像中的初始位置具体为将w*h行、1列的矩阵还原为包含h行w列个像素点的图片矩阵。
在本发明的一个可选实施例中,上述步骤e根据步骤d放大处理后的像素点的灰度值计算各个像素点的相位的计算公式为
其中,a、b表示为了计算φ引入的临时参数,m(n)表示黑色件表面图像的某一像素点在第n幅图像jn上的灰度值i(n)放大后的值,φ表示像素点的相位。
对于黑色件表面的各个点,由于对光线的吸收,其灰度值变化较小,而且容易受到噪声干扰。固定某个像素点,得到的灰度值变化图像如图3所示,为本发明实施例中采用现有技术处理后的黑色件表面像素点灰度值的变化结果示意图。
如图4所示,为本发明实施例中采用本发明方法处理后的黑色件表面像素点灰度值的变化结果示意图。采用本发明方法对捕捉到的图像进行处理后,该固定像素点的灰度值变化更为明显且噪声较小,此时,使用放大后的各点灰度值计算各个点的相位,精度得到大大提高。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。