结构光编码方法、编解码方法、装置、计算机设备及介质转让专利

申请号 : CN202110000614.X

文献号 : CN112729166B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高磊何苗

申请人 : 熵智科技(深圳)有限公司

摘要 :

本发明公开了一种结构光编解码方法,包括:S1生成二值条纹码,二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,第n幅格雷码主码与m幅移动辅码之间平移设置,以形成多个唯一的特征边界。S2使用二值条纹码进行投影,获取投影图像;S3对投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:绝对编码值K=k+x,其中,k为格雷码主码的编码值,x为特征边界的编码值。通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。

权利要求 :

1.一种结构光编码方法,其特征在于,所述结构光编码为二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,第n幅所述格雷码主码与m幅所述移动辅码之间平移设置,将所述格雷码主码作为编码的整数部分,将所述移动辅码作为小数部分,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述多个特征边界唯一且全面覆盖格雷码主码;

对于任一特征边界,其对应的移动辅码的编码值x=(s+Edir*Eidx)/(2*s);

其中,s表示格雷码码字宽度,Edir表示移动辅码的等效移动方向,第n幅格雷码主码为参考基准S0,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于参考边界的左侧,则Edir=‑1,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;若所述特征边界位于所述参考边界的右侧,则Edir=+1;Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。

2.根据权利要求1所述的一种结构光编码方法,其特征在于,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单元的大小与投影仪的像素点相同设置。

3.根据权利要求1所述的结构光编码方法,其特征在于,所述格雷码主码幅数其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度;ceil()表示向上取整函数;所述移动辅码的幅数m=2*n‑1。

4.根据权利要求1所述的一种结构光编码方法,其特征在于,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。

5.一种结构光编解码方法,其特征在于,包括如下步骤:S1根据权利要求1至4任一项所述的结构光编码方法生成二值条纹码,所述二值条纹码中将所述格雷码主码作为编码的整数部分,将所述移动辅码作为小数部分,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述多个特征边界唯一且全面覆盖格雷码主码;

S2使用所述二值条纹码进行投影,获取投影图像;

S3对所述投影图像按顺序结合并进行解码,以确定绝对编码值K:所述绝对编码值K=k+x,其中,k为所述格雷码主码的编码值,x为所述移动辅码的编码值;

对于任一特征边界,其对应的移动辅码的编码值x=(s+Edir*Eidx)/(2*s);

其中,s表示格雷码码字宽度,Edir表示移动辅码的等效移动方向,第n幅格雷码主码为参考基准S0,若所述特征边界位于所述参考基准S0上,则Edir=0,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;若所述特征边界位于所述参考边界的左侧,则Edir=‑

1;若所述特征边界位于所述参考边界的右侧,则Edir=+1;Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。

6.根据权利要求5所述的一种结构光编解码方法,其特征在于,使用第n幅格雷码主码为参考基准S0,所述步骤S3包括如下步骤:S31解码格雷码主码,获取格雷码主码的编码值k;

S32查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;

S33基于所述格雷码主码的编码值k与所述移动辅码的编码值x获取绝对编码值K大小。

7.一种结构光编解码装置,其特征在于,包括:编码模块,用于生成二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,第n幅所述格雷码主码与m幅所述移动辅码之间平移设置,将所述格雷码主码作为编码的整数部分,将所述移动辅码作为小数部分,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述多个特征边界唯一且全面覆盖格雷码主码;

投影图像获取模块,用于使用所述二值条纹码进行投影,获取投影图像;

解码模块,用于对所述投影图像按顺序结合并进行解码,以确定绝对编码值K:所述绝对编码值K=k+x,其中,k为所述格雷码主码的编码值,x为所述移动辅码的编码值;

对于任一特征边界,其对应的移动辅码的编码值x=(s+Edir*Eidx)/(2*s);

其中,s表示格雷码码字宽度,Edir表示移动辅码的等效移动方向,第n幅格雷码主码为参考基准S0,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于参考边界的左侧,则Edir=‑1,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;若所述特征边界位于所述参考边界的右侧,则Edir=+1;Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。

8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求5至6任一项所述方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求5至6任一项所述方法的步骤。

说明书 :

结构光编码方法、编解码方法、装置、计算机设备及介质

技术领域

[0001] 本发明属于三维成像与三维重建领域,尤其涉及一种结构光编码方法、结构光编解码方法、装置、计算机设备及存储介质。

背景技术

[0002] 在传统的结构光成像系统中,多采用格雷码辅助正弦相移进行空间编码,以格雷码码字作为主编码,结合正弦编码实现空间唯一编码,该方法以能获得亚像素级匹配精度
而广泛使用。格雷码加相移的三维测量技术的优点为算法实现简单,易于实现产品化,但是
缺点非常明显,尤其是格雷码的使用造成测量系统对测量工件的表面明暗比较敏感,其基
于灰度的编码策略对工件纹理及表面反射非常敏感,容易导致条纹正弦性丢失而解码失
败,一般要喷显影剂才能测量,无法测量较暗的工件,无法测量表面剧烈变化的工件。

发明内容

[0003] 本发明的目的是提供一种结构光编码方法以及适用所述编码方法的结构光编解码方法,以解决现有技术存在的问题。
[0004] 为实现上述目的,本发明提供一种结构光编码方法,所述结构光编码为二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m
幅所述移动辅码之间平移设置,以形成多个唯一的特征边界。
[0005] 优选的,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置。
[0006] 进一步的,所述格雷码主码幅数n=ceil( ),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度;ceil()表示向上取整函数;移动辅码的幅数m
=2*n‑1。
[0007] 优选的,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
[0008] 本发明还提供一种结构光编解码方法,包括如下步骤:
[0009] S1根据上述所述的结构光编码方法生成二值条纹码;
[0010] S2使用所述二值条纹码进行投影,获取投影图像;
[0011] S3对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
[0012] 优选的,使用第n幅格雷码主码为参考基准S0,所述步骤S3中,包括如下步骤:
[0013] S31解码格雷码主码,获取格雷码主码的编码值k;
[0014] S32查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述
参考边界为参考基准S0上与所述特征边界最邻近的边界;
[0015] S33基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
[0016] 进一步的,所述步骤S33中,对于任一特征边界,其对应的编码值x=(s+Edir*Eidx)/(2*s);其中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所述特征边界
位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =‑1;
若所述特征边界位于所述参考边界的右侧,则Edir =+1;
[0017] Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
[0018] 按照本发明的另一个方面,还提供了一种结构光编解码装置,包括:
[0019] 编码模块,用于生成二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一的
特征边界;
[0020] 投影图像获取模块,用于使用所述二值条纹码进行投影,获取投影图像;
[0021] 解码模块,用于对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编
码值。
[0022] 按照本发明的另一个方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上
述任一项所述方法的步骤。
[0023] 按照本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0024] 本发明所示的一种结构光编码、结构光编解码方法、装置、计算机设备以及存储介质,格雷码与移动辅码均为二值条纹码,通过投射二值条纹码进行空间编码,以二值条纹码
的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射
及纹理具有更高的鲁棒性。
[0025] 具体而言,其以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部分作为编码的整数部分, 综合使用移
动辅码作为小数部分, 实现了视场空间的无级细分, 提高了编码的分辨率, 同时由于本
发明以二值条纹码的边缘为特征点进行匹配,由于不依赖于像素灰度值,仅依赖二值条纹
码的边缘信息,故而具有更高的鲁棒性和适应性。

附图说明

[0026] 图1为本发明一种结构光编码方法一实施例的结构示意图;
[0027] 图2为本发明一种结构光编码方法另一实施例的结构示意图;
[0028] 图3为本发明一种结构光编解码方法的工作流程示意图;
[0029] 图4为本发明件一种结构光编解码装置一个实施例的结构框图;
[0030] 图5为本申请计算机设备的一个实施例的硬件架构。

具体实施方式

[0031] 为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本 发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,而
非以任何方式限制本发明的保护范围。
[0032] 在说明书的全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列相目中的一个或多个的任何和全部组合。在附图中,为了便于说明,已稍微夸大了物体
的厚度、尺寸和形状。附图仅为示例 而非严格按比例绘制。
[0033] 还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、步骤、整体、操作、元件和/或部件,但不排除存在或 
附加有一个或多个其它特征、步骤、整体、操作、元件、部件和/或它们的组合。
[0034] 如在说明书中使用的用语“基本上”、 “大约”以及类似的用于用作表示近似的用语,而不用作表示程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或
计算值中的固有偏差。
[0035]  除非另有限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与 本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常
用词 典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,
并且 将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
[0036] 需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0037] 实施例一
[0038] 本发明公开了一种结构光编码方法,所述结构光编码为二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅
码之间平移设置,以形成多个唯一的特征边界,即各特征边界不重复。
[0039] 本发明所示的一种结构光编码方法,格雷码与移动辅码均为二值条纹码(即二进制格式的编码),通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹
配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒
性。
[0040] 具体而言,本发明所示的一种结构光编码方法,以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部分
作为编码的整数部分, 综合使用移动辅码作为小数部分, 实现了视场空间的无级细分, 
提高了编码的分辨率, 同时由于本发明以二值条纹码的边缘为特征点进行匹配,由于不依
赖于像素灰度值,仅依赖二值条纹码的边缘信息,故而具有更高的鲁棒性和适应性。
[0041] 作为一优选方案,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置,即通过第n幅二进制格雷码主码以及m幅二
进制移动编码的位移,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述
多个特征边界唯一且全面覆盖格雷码主码,从而将格雷码主码的不同区域内再次细分编
码。
[0042] 本发明所示的一种结构光编码方法,对于某一指定的待检测图像而言,m、n的选择并无特定要求,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,
在实际操作中可根据经验确定格雷码主码以及对应的移动辅码的幅数;本实施例中,作为
一优选方案,所述格雷码主码幅数n=ceil( ),其中,period表示格雷码周期数,其值
等于投影仪X方向分辨率/码字宽度,投影仪参数由厂家出厂设定,码字宽度根据经验设定;
ceil()表示向上取整函数;移动辅码幅数m=2*n‑1。
[0043] 同时,如前所述,所述格雷码编码的多个边界唯一设置即可,移动辅码的相移的周期只需要在不少于一个格雷码区域内满足唯一性就行,本实施例中,为了便于后续解码,作
为一优选方案,所述步骤S1中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,
每次平移一个像素点设置。
[0044] 例如可从所述第n幅格雷码主码开始,所述像素级移动辅码依次向右移动若干个相位后再向左移动若干相位,每次平移一个像素位置。如图1所示,二值条纹码包括4幅格雷
码主码以及7幅移动辅码。其中,m,n的取值过程如下,本实施例中,格雷码码字宽度s=4,投
影仪X方向分辨率为64,则格雷码周期数period取值等于投影仪X方向分辨率/码字宽度,为
16,对应的n=ceil( )=4,m=2*n‑1=7。图中,GC1、GC2、GC3、GC4表示格雷码主码,S0‑S7
表示移动辅码。其中,GC4与S0相同,既作为最后一幅格雷码编码GC4,也作为移动辅码的参
考基准S0。本实施例中,S1‑S4表示移动辅码参考基本S0依次向右偏移1‑4位,S5‑S7表示移
动辅码参考基本S0依次向左移动1‑3位。
[0045] 也可从所述第n幅格雷码主码开始,所述像素级移动辅码沿相同方向向左或向右每次平移一个位置。如图2所示,二值条纹码包括4幅格雷码主码以及7幅移动辅码,其中,
GC1、GC2、GC3、GC4表示格雷码主码,S0‑S7表示移动辅码,同样,GC4与S0相同,既作为最后一
幅格雷码编码GC4,也作为移动辅码的参考基准S0,移动辅码参考基准S0物理上全为右移。
[0046] 实施例二
[0047] 在上述结构光编码方法的基础之上,如图3所示,本发明进一步公开了一种结构光编解码方法,可提高结构光成像系统鲁棒性,具体包括如下步骤:
[0048] S1根据实施例一中所示的结构光编码方法生成二值条纹码;
[0049] S2使用所述二值条纹码进行投影,获取投影图像;
[0050] S3对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
[0051] 本发明所示的一种结构光编解码方法,格雷码与移动辅码均为二值条纹码,采用格雷码以及辅助移动辅码进行空间编码,以格雷码码字作为主编码,结合移动辅码实现空
间唯一编码,通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配
点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
[0052] 具体而言,本发明所示的一种结构光编解码方法,以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部
分作为编码的整数部分, 综合使用移动辅码作为小数部分, 实现了视场空间的无级细分, 
提高了编码的分辨率, 同时由于本发明以二值条纹码的边缘为特征点进行匹配,由于不依
赖于像素灰度值,仅依赖二值条纹码的边缘信息,故而具有更高的鲁棒性和适应性。
[0053] 步骤S1中,作为一优选方案,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置,即通过第n幅二进制格雷码主码
以及m幅二进制移动编码的位移,在原有格雷码主码的边界的基础之上,形成多个新的特征
边界,所述多个特征边界唯一且全面覆盖格雷码主码,从而将格雷码主码的不同区域内再
次细分编码。
[0054] 进一步的,对于某一指定的待检测图像,m、n的选择并无特定要求,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,在实际操作中可根据经验确
定格雷码主码以及对应的移动辅码的幅数;本实施例中,作为一优选方案,所述格雷码主码
幅数n=ceil( ),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码
字宽度,投影仪参数由厂家出厂设定,码字宽度根据经验设定;ceil()表示向上取整函数;
移动辅码幅数m=2*n‑1。
[0055] 同时,如前所述,所述格雷码编码的多个边界唯一设置即可,移动辅码的相移的周期只需要在不少于一个格雷码区域内满足唯一性就行,本实施例中,为了便于后续解码,作
为一优选方案,所述步骤S1中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,
每次平移一个像素点设置。
[0056] 步骤S1二值条纹编码生成后,转入步骤S2,按照顺序将格雷码主码与移动辅码依次投射到目标物体上,并通过3D相机拍照获取投影图像,最后转入步骤S3对所述投影图像
按顺序结合并进行解码,确定绝对编码值K。
[0057] 作为一优选方案,步骤S3中,用第n幅格雷码主码为参考基准S0,所述步骤S3中,包括如下步骤:
[0058] S31解码格雷码主码,获取格雷码主码的编码值k;
[0059] S32查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述
参考边界为参考基准S0上与所述特征边界最邻近的边界;所述序号可为投影仪分辨率的像
素编码。
[0060] S33基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
[0061] 其中,步骤S31中,格雷码的解码过程例如可为先转化为二进制码,然后在转化为十进制数得到格雷码主码码值k。即对于图像上任意一点,根据该点在摄像机拍摄图像中所
处的位置进行编码,处于图像中黑色条纹中的码值为0,处于白色条纹中的码值为1,把获取
的码值按序排列组成该点的格雷码编码,再把格雷码码字转换成二进制,再转换成十进制,
以此获得该点所处的条纹级数。
[0062] 步骤S32中,移动辅码的位移不同,对应的编解码计算方式也不相同,在上述实施例中,对于如何执行移动辅码相移的区域编解码和绝对相位的计算过程并不做限定,在其
中一实施例中,所述第n幅格雷码主码记为S0,且将所述S0作为移动辅码的参考基准,所述
步骤S32中,移动辅码解码如下:对于任一移动辅码Si,x=(s+Edir*Eidx)/(2*s),i∈(1,m);其
中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所述特征边界位于所述
参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =‑1;若所述特
征边界位于所述参考边界的右侧,则Edir =+1; Eidx表示移动辅码的等效移动像素位,其大
小为所述特征边界与所述参考边界之间序号差的绝对值。
[0063] 进一步的,步骤S32可包括如下步骤:
[0064] S321遍历所述第n幅格雷码主码与m幅所述移动辅码,查找对应的特征边界;
[0065] S322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
[0066] S323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
[0067] S324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
[0068] 为进一步说明本发明所示的种结构光的编解码方法,以下以图1和图2所示的格雷码编码方法为例,分别给出对应的结构光的编解码方法。
[0069] 其中一实施例中,二值条纹编码方式如图1所示,二值条纹码包括4幅格雷码主码以及7幅移动辅码,GC1、GC2、GC3、GC4表示格雷码主码,S0‑S7表示移动辅码。其中,GC4与S0
相同,既作为最后一幅格雷码编码GC4,也作为移动辅码的参考基准S0。本实施例中,S1‑S4
表示移动辅码相对参考基准S0依次向右偏移1‑4位,S5‑S7表示移动辅码相对参考基准S0依
次向左移动1‑3位。
[0070] 对应的结构光编解码方法包括如下步骤:
[0071] S101生成图1所示的二值条纹码;
[0072] S102使用上述二值条纹码进行投影,获取投影图像;
[0073] S103对所述投影图像按顺序结合并进行解码,确定绝对编码值K:所述K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
[0074] 本实施例中,步骤S103进一步包括:
[0075] S1031获取格雷码主码的编码值k。格雷码主码解码为通用格雷码解码,如可通过如下方式获得,根据灰度值得到当前像素点的格雷码,然后将格雷码转换成二进制码;最后
将二进制码转换成十进制码(即当前像素所在的行数或者列数)。从而确定k值。图1所示实
施例中,主码范围k为[0,…,15]间的整数。以图1中序号为21的编码为例,格雷码编码为
1110,响应格雷码主码k=5。
[0076] S1032 遍历S0‑S7,依次查找指定序号是否存在对应的特征边界,并按照如下公式进行移动辅码解码,对于Si,x=(s+Edir*Eidx)/(2*s)。
[0077] 其中,s表示格雷码码字宽度,本实施例中s=4。Edir表示移动辅码的等效移动方向,若S1‑S7中二值编码条纹边界位于参考边界(即参考基准S0上与该二值编码条纹边界最邻
近的条纹边界)的左侧,则Edir =‑1;若S1‑S7中二值编码条纹边界位于参考边界的右侧,则
Edir =+1;对于基准S0,Edir=0。Eidx表示移动辅码的等效移动像素位,其计算值等于二值编码
条纹边界与最邻近参考基准S0条纹边界之间序号差的绝对值。
[0078] 进一步的,步骤S1032还可包括如下步骤:
[0079] S10321遍历所述第n幅格雷码主码与m幅所述移动辅码即S0‑S7,查找对应的特征边界;
[0080] S10322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
[0081] S10323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
[0082] S10324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
[0083] 同样以图1中序号为21的编码为例,遍历S0‑S7,依次查找是否存在对应的特征边界,最终确认由S2产生该序21号对应的特征边界,由于该特征边界相对参考基准S0的最邻
近条纹边界(即参考边界)序号为19号,位于其右侧,二者序号差为2,故Edir=+1、Eidx=2;则该
特征边界的编码值x=(4+1*2)/(2*4)=6/8。
[0084] S1033基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。完整编码组成包括k(由GC1‑GC4编码完成)+像素级移动辅码x(由S0‑S7编码
完成),图示序号为21的编码,其绝对编码值K=5+6/8。
[0085] 本技术方案的实施,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,故更换S1‑S7中二值编码条纹顺序,不影响本技术方案实施,其解码方式相
同。
[0086] 如图2所示,本实施例中,二值条纹码也包括4幅格雷码主码以及7幅移动辅码,其中,GC1、GC2、GC3、GC4表示格雷码主码,S0‑S7表示移动辅码。其中,GC4与S0相同,既作为最
后一幅格雷码编码GC4,也作为移动辅码的参考基准S0,移动辅码相对参考基准S0物理上全
为右移。
[0087] 对应的结构光编解码方法包括如下步骤:
[0088] S201生成图2所示实施例二值条纹码;
[0089] S202使用二值条纹码进行投影,获取投影图像;
[0090] S203对所述投影图像按顺序结合并进行解码,确定绝对编码值K:所述K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
[0091] 本实施例中,步骤S203进一步包括:
[0092] S2031获取格雷码主码的编码值k;格雷码主码解码为通用格雷码解码,如可通过如下方式获得,根据灰度值得到当前像素点的格雷码,然后将格雷码转换成二进制码;最后
将二进制码转换成十进制码(即当前像素所在的行数或者列数)。从而确定k值。本实施例
中,主码范围k为[0,…,15]间的整数。以图2序号为25的编码为例,其格雷码编码为1010,响
应格雷码主码k=6。
[0093] S2032遍历S0‑S7,依次查找是否存在特征边界,然后按照如下公式进行移动辅码解码,对于Si,其上特征边界对应的编码值x=(s+Edir*Eidx)/(2*s)。其中,s表示格雷码码字
宽度, Edir表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=
0;若所述特征边界位于所述参考边界的左侧,则Edir =‑1;若所述特征边界位于所述参考边
界的右侧,则Edir =+1;Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述
参考边界之间序号差的绝对值。
[0094] 进一步的,步骤S2032还可包括如下步骤:
[0095] S20321遍历所述第n幅格雷码主码与m幅所述移动辅码即S0‑S7,查找对应的特征边界;
[0096] S20322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
[0097] S20323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
[0098] S20324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
[0099] 同样以图2中序号为25的编码为例,遍历S0‑S7,依次查找是否存在二值边界,最终确认由S6产生该序号的特征边界,该特征背景相对基准S0的最邻近条纹边界(即参考边界)
序号为27号,位于其左侧,其序号差为2,故Edir=‑1、Eidx=2,对应的移动辅码编码x=(4+(‑1)*
2)/(2*4)=2/8。
[0100] S2033基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。完整编码组成包括格雷码主码的编码值k(由GC1‑GC4编码完成)+像素级移动
辅码x(由S0‑S7编码完成),则图示序号为25的编码,其绝对编码值K=6+2/8。
[0101] 实施例三
[0102] 如图4所示,本发明还公开了一种结构光编解码装置10,包括:
[0103] 编码模块11,用于生成二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一
的特征边界;
[0104] 投影图像获取模块12,用于使用所述二值条纹码进行投影,获取投影图像;
[0105] 解码模块13,用于对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的
编码值。
[0106] 本发明所示的一种结构光编解码装置10,格雷码与移动辅码均为二值条纹码,采用格雷码以及辅助移动辅码进行空间编码,以格雷码码字作为主编码,结合二进制移动编
码实现空间唯一编码,通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为
特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高
的鲁棒性。
[0107] 优选的,所述编码模块11中,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置。
[0108] 进一步的,所述编码模块11中,所述格雷码主码幅数n=ceil( ),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度;ceil()表示向上取整
函数;所述移动辅码的幅数m=2*n‑1。
[0109] 优选的,所述编码模块11中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
[0110] 优选的,所述解码模块13包括:
[0111] 格雷码主码解码子模块,用于解码格雷码主码,获取格雷码主码的编码值k;
[0112] 特征边界解码子模块,用于查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边
界的编码值x大小,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
[0113] 边界确定子模块,基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
[0114] 进一步的,所述特征边界解码子模块中,对于任一特征边界,其对应的编码值x=(s+Edir*Eidx)/(2*s)。其中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所
述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,
则Edir =‑1;若所述特征边界位于所述参考边界的右侧,则Edir =+1; Eidx表示移动辅码的等
效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
[0115] 优选的,所述解码模块13包括:
[0116] 格雷码主码解码子模块,用于解码格雷码主码,获取格雷码主码的编码值k;
[0117] 移动辅码解码子模块,用于查找所述边界对应的格雷码移动辅码,基于所述边界位置确定对应编码值的x大小;
[0118] 边界确定子模块,用于基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
[0119] 进一步的,所述第n幅格雷码主码记为S0,所述移动辅码解码子模块中,依据如下公式获取特征边界的编码值x, x=(s+Edir*Eidx)/(2*s),其中, s表示格雷码码字宽度,Edir
表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述
特征边界位于所述参考边界的左侧,则Edir =‑1;若所述特征边界位于所述参考边界的右
侧,则Edir =+1; Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考
边界之间序号差的绝对值。
[0120] 实施例四
[0121] 图5所示是本发明实施例提供的一种计算机设备的结构示意图,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务
器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施
例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器
22,如图5所示。需要指出的是,图5仅示出了具有组件21‑22的计算机设备20,但是应理解的
是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0122] 本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器
(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM),存储器21也可以
是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡
(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。
当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实
施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如方
法实施例的结构光编解码方法的程序代码等。此外,存储器21还可以用于暂时地存储已经
输出或者将要输出的各类数据。
[0123] 处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备
20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,
例如运行结构光编解码装置10,以实现方法实施例中的结构光编解码方法。
[0124] 实施例五
[0125] 本申请还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器
(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁
盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相
应功能。本实施例的计算机可读存储介质用于存储结构光编解码装置的程序代码,被处理
器执行时实现方法实施例中的结构光编解码方法。
[0126] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0127] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。