一种单帧结构光图案编码方法
技术领域
本发明涉及一种单帧结构光图案编码方法,尤其涉及一种用于三维成像的结构光编码图案的生成方法。
背景技术
离焦式结构光编码图案是用于结构光三维成像的一项重要技术。现有的离焦式结构光编码生成方式可以有效避免投影非线性效应造成的误差,这些方法使用仅有两个灰度级的结构光编码图案进行离焦即可实现准确的正弦结构光生成,即结构光编码图案灰度值为(B+0.0)I和(B+1.0)I,其中,B和I为常数,(B+0.0)I为图案的最小灰度值,(B+1.0)I为图案的最大灰度值。
然而,普通的离焦式结构光编码图案的高次谐波往往造成较大的三维测量误差,为此,研究者提出一种三极脉宽调制结构光编码图案方法使用三个灰度级的结构光编码图案进行高次谐波的消除,即结构光编码图案有三个灰度值,分别为(B+0.0)I、(B+0.5)I和(B+1.0)I,其中,B和I为常数,(B+0.0)I为图案的最小灰度值,(B+0.5)I为图案的中等亮度灰度值,(B+1.0)I为图案的最大灰度值。
但是,使用三个灰度级的结构光编码图案后,按照现有报道的方法,***要么必须进行简单的投影非线性校正,即对中等亮度灰度级的结构光编码灰度进行校正,要么必须由精确的相机与投影仪同步方法实现。这两种方法往往会牺牲***的简便性,使原本用于简化结构光三维成像的离焦式结构光编码方法又一次复杂化。
发明内容
目的:为了克服现有三级脉宽调制结构光编码图案方法需要进行投影非线性校正或者投影与曝光成像同步的不足,本发明提供一种单帧结构光图案编码方法,该方法仅使用单幅两个灰度级的结构光编码图案,因而不需要进行投影非线性校正,并且能够投影获得与三级脉宽调制结构光编码图案照明效果相同的场景图像。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种单帧结构光图案编码方法,包括以下步骤,
步骤1):根据实际需要确定理想的三级脉宽调制波形,其中,三级脉宽调制波形的最低灰度值、中间灰度值和最高灰度值分别为(B+0.0)I、(B+0.5)I和(B+1.0)I;其中,B和I为常数,(B+0.0)I为最低灰度值,(B+0.5)I为中间灰度值,(B+1.0)I为最高灰度值;
步骤2):将三级脉宽调制波形的每一点的位置对应得到二级脉宽调制结构光编码图案的每一个像素阵列的位置;
步骤3):用最低灰度值像素和最高灰度值像素表示得到二级脉宽调制结构光编码图案的最低灰度值像素阵列、中间灰度值像素阵列和最高灰度值像素阵列。
所述的一种单帧结构光图案编码方法,其特征在于,所述步骤2)中三级脉宽调制波形的每一点和二级脉宽调制结构光编码图案的像素阵列位置对应关系为:
三级脉宽调制波形的最低灰度值点对应二级脉宽调制结构光编码图案的最低灰度值像素阵列;
三级脉宽调制波形的中间灰度值点对应二级脉宽调制结构光编码图案的中间灰度值像素阵列;
三级脉宽调制波形的最高灰度值点对应二级脉宽调制结构光编码图案的最高灰度值像素阵列。
所述的一种单帧结构光图案编码方法,其特征在于,所述步骤2)中二级脉宽调制结构光编码图案的像素阵列和脉宽调制结构光编码条纹方向的对应关系为:
当脉宽调制结构光编码图案取横向条纹时,二级脉宽调制结构光编码图案的像素阵列为横向的像素行;
当脉宽调制结构光编码图案取竖向条纹时,二级脉宽调制结构光编码图案的像素阵列为纵向的像素列。
所述的一种单帧结构光图案编码方法,其特征在于,所述步骤3)中二级脉宽调制结构光编码图案的最低灰度值像素阵列、中间灰度值像素阵列和最高灰度值像素阵列的像素构成方法具体是:
二级脉宽调制结构光编码图案的最低灰度值像素阵列只由二级脉宽调制结构光编码图案的最低灰度值像素组成;
二级脉宽调制结构光编码图案的最高灰度值像素阵列只由二级脉宽调制结构光编码图案的最高灰度值像素组成;
二级脉宽调制结构光编码图案的中间灰度值像素阵列则由最低灰度值像素和最高灰度值像素交替组成。
有益效果:本发明提供的一种单帧结构光图案编码方法,根据理想的三级脉宽调制波形, 将三级脉宽调制波形的每一点对应二级脉宽调制结构光编码图案的一个像素阵列, 仅用最低灰度值像素和最高灰度值像素表示最低灰度值像素阵列、中间灰度值像素阵列和最高灰度值像素阵列,该方法生成的单幅二级脉宽调制结构光编码图案仅使用两个灰度级,结构光投影成像时不需要进行复杂的投影非线性校正,也不需要精确的投影与曝光成像同步控制,降低了三级脉宽调制结构光编码图案的实现难度,方便并且能够投影获得与三级一种单帧结构光图案编码方法照明效果相同的场景图像,解决了现有三级脉宽调制结构光编码图案需要进行投影非线性校正或者投影与曝光成像同步的不足。
附图说明
图1是本发明实施例中三级脉宽调制波形生成二级脉宽调制结构光编码图案的示意图。
图中,1.三级脉宽调制波形,2. 二级脉宽调制结构光编码图案。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示,一种单帧结构光图案编码方法,包括以下步骤,步骤1):根据实际需要确定理想的三级脉宽调制波形,其中,三级脉宽调制波形的最低灰度值、中间灰度值和最高灰度值分别为(B+0.0)I、(B+0.5)I和(B+1.0)I;其中,B和I为常数,(B+0.0)I为最低灰度值,(B+0.5)I为中间灰度值,(B+1.0)I为最高灰度值;
步骤2):将三级脉宽调制波形的每一点的位置对应得到二级脉宽调制结构光编码图案的每一个像素阵列的位置;
位置对应关系为:三级脉宽调制波形的最低灰度值点对应二级脉宽调制结构光编码图案的最低灰度值像素阵列;
三级脉宽调制波形的中间灰度值点对应二级脉宽调制结构光编码图案的中间灰度值像素阵列;
三级脉宽调制波形的最高灰度值点对应二级脉宽调制结构光编码图案的最高灰度值像素阵列。
二级脉宽调制结构光编码图案的像素阵列和脉宽调制结构光编码条纹方向的对应关系为:
当脉宽调制结构光编码图案取横向条纹时,二级脉宽调制结构光编码图案的像素阵列为横向的像素行;
当脉宽调制结构光编码图案取竖向条纹时,二级脉宽调制结构光编码图案的像素阵列为纵向的像素列。
步骤3):用最低灰度值像素和最高灰度值像素表示得到二级脉宽调制结构光编码图案的最低灰度值像素阵列、中间灰度值像素阵列和最高灰度值像素阵列。
二级脉宽调制结构光编码图案的最低灰度值像素阵列、中间灰度值像素阵列和最高灰度值像素阵列的像素构成方法具体是:
二级脉宽调制结构光编码图案的最低灰度值像素阵列只由二级脉宽调制结构光编码图案的最低灰度值像素组成;
二级脉宽调制结构光编码图案的最高灰度值像素阵列只由二级脉宽调制结构光编码图案的最高灰度值像素组成;
二级脉宽调制结构光编码图案的中间灰度值像素阵列则由最低灰度值像素和最高灰度值像素交替组成。
图1所示的实施例中,三级脉宽调制波形1中各点由低到高分别对应灰度值0、0.5和1,即三级脉宽调制波形1的最低灰度值点、中间灰度值点和最高灰度值点。
本实施例中,二级脉宽调制结构光编码图案2取竖向条纹,其中黑色点和白色点分别代表最低灰度值像素和最高灰度值像素。
本实施例中,三级脉宽调制波形1和二级脉宽调制结构光编码图案2使用的横坐标相同,即三级脉宽调制波形1中和二级脉宽调制结构光编码图案2中相同横坐标的点一一对应。
本实施例中,由三级脉宽调制波形1生成二级脉宽调制结构光编码图案2的方法是:
将三级脉宽调制波形1的每一点对应二级脉宽调制结构光编码图案2的一个纵向像素列,并且三级脉宽调制波形1的最低灰度值点、中间灰度值点和最高灰度值点分别对应二级脉宽调制结构光编码图案2的最低灰度值纵向像素列、中间灰度值纵向像素列和最高灰度值纵向像素列。二级脉宽调制结构光编码图案2的最低灰度值纵向像素列和最高灰度值纵向像素列分别只由二级脉宽调制结构光编码图案2的最低灰度值像素和最高灰度值像素组成,二级脉宽调制结构光编码图案2的中间灰度值纵向像素列由最低灰度值像素和最高灰度值像素交替组成。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。