一种n频编码结构光解码算法转让专利

申请号 : CN201510330965.1

文献号 : CN104864823B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于晓洋刘爽何宝华王洋于舒春孙晓明赵烟桥

申请人 : 哈尔滨理工大学

摘要 :

一种n频编码结构光解码算法属于结构光三维测量技术领域;该方法首先计算n频编码结构光在量程范围内的周期数,然后计算与空间位置x对应的相位主值;再构造数组,并计算所有情况下的数组;在此基础上,寻找各元素数值相等时的数组,并记录周期数,最后计算空间位置x的值;本发明n频编码结构光解码算法,不仅适用于对双频编码结构光进行解码,而且适用于对多频编码结构光进行解码。

权利要求 :

1.一种n频编码结构光解码算法,其特征在于,包括以下步骤:S1、计算n频编码结构光在量程范围内的周期数N1=T/a1

N2=T/a2

…………

Nn=T/an

其中,T为n频编码结构光的量程,a1、a2、…、an为n个编码结构光的周期长度,N1、N2、…、Nn为n个编码结构光在量程范围内的周期数;

S2、计算与空间位置x对应的相位主值所述的空间位置x在n频编码结构光的量程范围内;

S3、构造数组

其中:

S4、计算所有情况下的数组A;

所述所有情况,数量为N1N2…Nn;

S5、寻找各元素数值相等时的数组A,并记录n1、n2、…、nn的取值k1、k2、…、kn;

S6、计算空间位置x的值:

2.根据权利要求1所述的n频编码结构光解码算法,其特征在于,步骤S5中,在各元素数值相等的数组A中,元素的数值即为空间位置x的值。

说明书 :

一种n频编码结构光解码算法

技术领域

[0001] 一种n频编码结构光解码算法属于结构光三维测量技术领域。

背景技术

[0002] 三维形貌测量在科学研究、医学诊断、工程设计、刑事侦查等领域均有广泛的应用。而结构光作为众多三维形貌测量手段的重要组成部分,以其非接触式、成本低、分辨率高和速度快的优势,受到了各国学者和工程技术人员的广泛关注,并得到了快速发展。
[0003] 结构光是一组由投影仪和摄像头组成的系统结构。用投影仪投射特定的光信息到物体表面后及背景后,再由摄像头进行采集,根据物体造成的光信号变化来计算物体的位置和深度信息,进而复原整个物体三维形貌。
[0004] 结构光最简单的形式就是向物体表面投射单一频率光束,然而,单一频率的投影光不仅抗干扰能力差,而且量程也只局限于投影光的一个周期;解决这个问题,可以采用两束或多束不同频率投影光相组合的方式,例如本课题组在2014年11月18日申请了发明专利《一种双频模拟编码光容错相位展开工程方法》,并公开了一种解码算法。然而,在应用时发现,该发明专利所公开的解码算法仅可以实现双频编码光有效解码,而不适用于对三频及更多频编码光进行解码。

发明内容

[0005] 针对现有解码方法不适用于多频编码结构光的问题,本发明公开了一种n频编码结构光解码算法,该计算不仅适用于对双频编码结构光进行解码,而且适用于对多频编码结构光进行解码。
[0006] 本发明的目的是这样实现的:
[0007] 一种n频编码结构光解码算法,包括以下步骤:
[0008] S1、计算n频编码结构光在量程范围内的周期数
[0009] N1=T/a1
[0010] N2=T/a2
[0011] …………
[0012] Nn=T/an
[0013] 其中,T为n频编码结构光的量程,a1、a2、…、an为n个编码结构光的周期长度,N1、N2、…、Nn为n个编码结构光在量程范围内的周期数;
[0014] S2、计算与空间位置x对应的相位主值
[0015] 所述的空间位置x在n频编码结构光的量程范围内;
[0016] S3、构造数组
[0017] 其中:
[0018] n1=0、1、…、N1-1
[0019] n2=0、1、…、N2-1
[0020] ………………………
[0021] nn=0、1、…、Nn-1
[0022] S4、计算所有情况下的数组A;
[0023] 所述所有情况,数量为N1N2…Nn;
[0024] S5、寻找各元素数值相等时的数组A,并记录n1、n2、…、nn的取值k1、k2、…、kn;
[0025] S6、计算空间位置x的值:
[0026] 上述n频编码结构光解码算法,步骤S5中,在各元素数值相等的数组A中,元素的数值即为空间位置x的值。
[0027] 有益效果:本发明提供的方法不仅适用于对双频编码结构光进行解码,而且适用于对多频编码结构光进行解码。

具体实施方式

[0028] 具体实施例一
[0029] 本实施例的n频编码结构光解码算法,以双频为例,验证该方法适用于对双频编码结构光进行解码。
[0030] 本实施例的双频编码结构光,周期分别为6和7,即:a1=6、a2=7;可知,二者的组合,量程为42。按照本发明所公开的方法,包括以下步骤:
[0031] S1、计算n频编码结构光在量程范围内的周期数
[0032] N1=T/a1=42/6=7
[0033] N2=T/a2=42/7=6
[0034] S2、计算与空间位置x对应的相位主值 和 计算出来的结果分别为;
[0035]
[0036]
[0037] S3、构造数组
[0038] 其中:
[0039] n1=0、1、2、3、4、5、6
[0040] n2=0、1、2、3、4、5
[0041] S4、计算所有情况下的数组A;
[0042] 所述所有情况,数量为N1N2=6×7=42;
[0043] 这里穷尽所有可能:
[0044] 可能01:A=[6×0+1.5、7×0+2.5]=[1.5、2.5]
[0045] 可能02:A=[6×0+1.5、7×1+2.5]=[1.5、9.5]
[0046] 可能03:A=[6×0+1.5、7×2+2.5]=[1.5、16.5]
[0047] 可能04:A=[6×0+1.5、7×3+2.5]=[1.5、23.5]
[0048] 可能05:A=[6×0+1.5、7×4+2.5]=[1.5、30.5]
[0049] 可能06:A=[6×0+1.5、7×5+2.5]=[1.5、37.5]
[0050] 可能07:A=[6×1+1.5、7×0+2.5]=[7.5、2.5]
[0051] 可能08:A=[6×1+1.5、7×1+2.5]=[7.5、9.5]
[0052] 可能09:A=[6×1+1.5、7×2+2.5]=[7.5、16.5]
[0053] 可能10:A=[6×1+1.5、7×3+2.5]=[7.5、23.5]
[0054] 可能11:A=[6×1+1.5、7×4+2.5]=[7.5、30.5]
[0055] 可能12:A=[6×1+1.5、7×5+2.5]=[7.5、37.5]
[0056] 可能13:A=[6×2+1.5、7×0+2.5]=[13.5、2.5]
[0057] 可能14:A=[6×2+1.5、7×1+2.5]=[13.5、9.5]
[0058] 可能15:A=[6×2+1.5、7×2+2.5]=[13.5、16.5]
[0059] 可能16:A=[6×2+1.5、7×3+2.5]=[13.5、23.5]
[0060] 可能17:A=[6×2+1.5、7×4+2.5]=[13.5、30.5]
[0061] 可能18:A=[6×2+1.5、7×5+2.5]=[13.5、37.5]
[0062] 可能19:A=[6×3+1.5、7×0+2.5]=[19.5、2.5]
[0063] 可能20:A=[6×3+1.5、7×1+2.5]=[19.5、9.5]
[0064] 可能21:A=[6×3+1.5、7×2+2.5]=[19.5、16.5]
[0065] 可能22:A=[6×3+1.5、7×3+2.5]=[19.5、23.5]
[0066] 可能23:A=[6×3+1.5、7×4+2.5]=[19.5、30.5]
[0067] 可能24:A=[6×3+1.5、7×5+2.5]=[19.5、37.5]
[0068] 可能25:A=[6×4+1.5、7×0+2.5]=[25.5、2.5]
[0069] 可能26:A=[6×4+1.5、7×1+2.5]=[25.5、9.5]
[0070] 可能27:A=[6×4+1.5、7×2+2.5]=[25.5、16.5]
[0071] 可能28:A=[6×4+1.5、7×3+2.5]=[25.5、23.5]
[0072] 可能29:A=[6×4+1.5、7×4+2.5]=[25.5、30.5]
[0073] 可能30:A=[6×4+1.5、7×5+2.5]=[25.5、37.5]
[0074] 可能31:A=[6×5+1.5、7×0+2.5]=[31.5、2.5]
[0075] 可能32:A=[6×5+1.5、7×1+2.5]=[31.5、9.5]
[0076] 可能33:A=[6×5+1.5、7×2+2.5]=[31.5、16.5]
[0077] 可能34:A=[6×5+1.5、7×3+2.5]=[31.5、23.5]
[0078] 可能35:A=[6×5+1.5、7×4+2.5]=[31.5、30.5]
[0079] 可能36:A=[6×5+1.5、7×5+2.5]=[31.5、37.5]
[0080] 可能37:A=[6×6+1.5、7×0+2.5]=[37.5、2.5]
[0081] 可能38:A=[6×6+1.5、7×1+2.5]=[37.5、9.5]
[0082] 可能39:A=[6×6+1.5、7×2+2.5]=[37.5、16.5]
[0083] 可能40:A=[6×6+1.5、7×3+2.5]=[37.5、23.5]
[0084] 可能41:A=[6×6+1.5、7×4+2.5]=[37.5、30.5]
[0085] 可能42:A=[6×6+1.5、7×5+2.5]=[37.5、37.5]
[0086] S5、寻找各元素数值相等时的数组A,为A=37.5,并记录k1=6、k2=5;
[0087] S6、计算空间位置x的值:x=6×6+1.5=7×5+2.5=37.5。
[0088] 具体实施例二
[0089] 本实施例的n频编码结构光解码算法,仍然以双频为例,验证该方法适用于对双频编码结构光进行解码。
[0090] 本实施例的双频编码结构光,周期同样分别为6和7,即:a1=6、a2=7;二者的组合,量程为42。解码算法与具体实施例相比,步骤S1、S2、S3和S4都完全相同,在步骤S5中,由于找到了各元素数值相等时的数组A,所对应的元素数值为37.5,因此37.5即为空间位置x的值。
[0091] 以上两个实施例,如果按照本课题组在先申请发明专利《一种双频模拟编码光容错相位展开工程方法》所公开的方法计算空间位置,或按照本课题组同日申请的发明专利《基于双频锯齿波的结构光相位解码方法》所公开的方法计算空间位置,有:
[0092] k1=mod((1.5-2.5),7)/abs(6-7)=6;
[0093] k2=mod((1.5-2.5),6)/abs(6-7)=5;
[0094] 得到的k1与k2与本专利方法完全一致,进而计算空间位置x的值也与本专利方法相同,从而验证了该方法适用于对双频编码结构光进行解码。
[0095] 具体实施例三
[0096] 本实施例的n频编码结构光解码算法,以四频为例,验证该方法适用于对多频编码结构光进行解码。
[0097] 本实施例的四频编码结构光,周期分别为4、5、6和7,即:
[0098] a1=4
[0099] a2=5
[0100]        ;
[0101] a3=6
[0102] a4=7
[0103] 可知,四者的组合,量程为420。按照本发明所公开的方法,包括以下步骤:
[0104] S1、计算n频编码结构光在量程范围内的周期数
[0105] N1=T/a1=420/4=105
[0106] N2=T/a2=420/5=84
[0107] N3=T/a3=420/6=70
[0108] N4=T/a4=420/7=60
[0109] S2、计算与空间位置x对应的相位主值 计算出来的结果分别为;
[0110]
[0111]
[0112]
[0113]
[0114] S3、构造数组
[0115]
[0116] 其中:
[0117] n1=0、1、…、104
[0118] n2=0、1、…、83
[0119] n3=0、1、…、69
[0120] n4=0、1、…、59
[0121] S4、计算所有情况下的数组A;
[0122] 所述所有情况,数量为N1N2N3N4=105×84×70×60=37044000;
[0123] 由于篇幅有限,这里无法穷尽所有37044000种可能,但是参考具体实施例一,本领域技术人员可以写出或编程计算出所有可能;
[0124] S5、寻找各元素数值相等时的数组A,为A=188,并记录:
[0125] k1=47
[0126] k2=37
[0127]       ;
[0128] k3=21
[0129] k4=26
[0130] S6、计算空间位置x的值:
[0131] x=4×47+0=5×37+3=6×31+2=7×26+6=188
[0132] 以上结果可以说明该方法适用于对四频编码结构光进行解码。
[0133] 具体实施例四
[0134] 本实施例的n频编码结构光解码算法,仍然以四频为例,验证该方法适用于对多频编码结构光进行解码。
[0135] 本实施例的四频编码结构光,周期分别为4、5、6和7,即:
[0136] a1=4
[0137] a2=5
[0138]        ;
[0139] a3=6
[0140] a4=7
[0141] 可知,四者的组合,量程为420。按照本发明所公开的方法,包括以下步骤:
[0142] S1、计算n频编码结构光在量程范围内的周期数
[0143] N1=T/a1=420/4=105
[0144] N2=T/a2=420/5=84
[0145] N3=T/a3=420/6=70
[0146] N4=T/a4=420/7=60
[0147] S2、计算与空间位置x对应的相位主值 计算出来的结果分别为;
[0148]
[0149]
[0150]
[0151]
[0152] S3、构造数组
[0153]
[0154] 其中:
[0155] n1=0、1、…、104
[0156] n2=0、1、…、83
[0157] n3=0、1、…、69
[0158] n4=0、1、…、59
[0159] S4、计算所有情况下的数组A;
[0160] 所述所有情况,数量为N1N2N3N4=105×84×70×60=37044000;
[0161] 由于篇幅有限,这里无法穷尽所有37044000种可能,但是参考具体实施例一,本领域技术人员可以写出或编程计算出所有可能;
[0162] S5、寻找各元素数值相等时的数组A,为A=49,并记录:
[0163] k1=12
[0164] k2=9
[0165]          ;
[0166] k3=8
[0167] k4=6
[0168] S6、计算空间位置x的值:
[0169] x=4×12+1=5×9+4=6×8+1=7×6+7=49
[0170] 以上结果可以说明该方法适用于对四频编码结构光进行解码。
[0171] 具体实施例五
[0172] 本实施例的n频编码结构光解码算法,仍然以四频为例,验证该方法适用于对多频编码结构光进行解码。
[0173] 本实施例的四频编码结构光,周期分别为4、5、6和7,即:
[0174] a1=4
[0175] a2=5
[0176]        ;
[0177] a3=6
[0178] a4=7
[0179] 可知,四者的组合,量程为420。按照本发明所公开的方法,包括以下步骤:
[0180] S1、计算n频编码结构光在量程范围内的周期数
[0181] N1=T/a1=420/4=105
[0182] N2=T/a2=420/5=84
[0183] N3=T/a3=420/6=70
[0184] N4=T/a4=420/7=60
[0185] S2、计算与空间位置x对应的相位主值 计算出来的结果分别为;
[0186]
[0187]
[0188]
[0189]
[0190] S3、构造数组
[0191]
[0192] 其中:
[0193] n1=0、1、…、104
[0194] n2=0、1、…、83
[0195] n3=0、1、…、69
[0196] n4=0、1、…、59
[0197] S4、计算所有情况下的数组A;
[0198] 所述所有情况,数量为N1N2N3N4=105×84×70×60=37044000;
[0199] 由于篇幅有限,这里无法穷尽所有37044000种可能,但是参考具体实施例一,本领域技术人员可以写出或编程计算出所有可能;
[0200] S5、寻找各元素数值相等时的数组A,为A=188,并记录:
[0201] k1=102
[0202] k2=82
[0203]          ;
[0204] k3=68
[0205] k4=58
[0206] S6、计算空间位置x的值:
[0207] x=4×102+4=5×82+2=6×68+4=7×58+6=412
[0208] 以上结果可以说明该方法适用于对四频编码结构光进行解码。
[0209] 虽然具体实施例三、具体实施例四、以及具体实施例五的仿真结果,可以看出本文方法适用于对四频编码结构光进行解码,但是由于这几个例子中,编码结构光频数的选取、空间位置的选取等都不具有特殊性,因此这些结果能够证明本发明方法适用于对多频编码结构光进行解码。