CN112729166B - 结构光编码方法、编解码方法、装置、计算机设备及介质 - Google Patents
结构光编码方法、编解码方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN112729166B CN112729166B CN202110000614.XA CN202110000614A CN112729166B CN 112729166 B CN112729166 B CN 112729166B CN 202110000614 A CN202110000614 A CN 202110000614A CN 112729166 B CN112729166 B CN 112729166B
- Authority
- CN
- China
- Prior art keywords
- code
- boundary
- value
- gray
- gray code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013519 translation Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 abstract description 8
- 230000000007 visual effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000010363 phase shift Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/254—Projection of a pattern, viewing through a pattern, e.g. moiré
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/26—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
- G01D5/262—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with optical projection of a pointer or a scale
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/1505—Golay Codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种结构光编解码方法,包括:S1生成二值条纹码,二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,第n幅格雷码主码与m幅移动辅码之间平移设置,以形成多个唯一的特征边界。S2使用二值条纹码进行投影,获取投影图像;S3对投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:绝对编码值K=k+x,其中,k为格雷码主码的编码值,x为特征边界的编码值。通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
Description
技术领域
本发明属于三维成像与三维重建领域,尤其涉及一种结构光编码方法、结构光编解码方法、装置、计算机设备及存储介质。
背景技术
在传统的结构光成像系统中,多采用格雷码辅助正弦相移进行空间编码,以格雷码码字作为主编码,结合正弦编码实现空间唯一编码,该方法以能获得亚像素级匹配精度而广泛使用。格雷码加相移的三维测量技术的优点为算法实现简单,易于实现产品化,但是缺点非常明显,尤其是格雷码的使用造成测量系统对测量工件的表面明暗比较敏感,其基于灰度的编码策略对工件纹理及表面反射非常敏感,容易导致条纹正弦性丢失而解码失败,一般要喷显影剂才能测量,无法测量较暗的工件,无法测量表面剧烈变化的工件。
发明内容
本发明的目的是提供一种结构光编码方法以及适用所述编码方法的结构光编解码方法,以解决现有技术存在的问题。
为实现上述目的,本发明提供一种结构光编码方法,所述结构光编码为二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一的特征边界。
优选的,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置。
优选的,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
本发明还提供一种结构光编解码方法,包括如下步骤:
S1根据上述所述的结构光编码方法生成二值条纹码;
S2使用所述二值条纹码进行投影,获取投影图像;
S3对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
优选的,使用第n幅格雷码主码为参考基准S0,所述步骤S3中,包括如下步骤:
S31解码格雷码主码,获取格雷码主码的编码值k;
S32查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
S33基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
进一步的,所述步骤S33中,对于任一特征边界,其对应的编码值x=(s+Edir*Eidx)/(2*s);其中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =-1;若所述特征边界位于所述参考边界的右侧,则Edir =+1;
Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
按照本发明的另一个方面,还提供了一种结构光编解码装置,包括:
编码模块,用于生成二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一的特征边界;
投影图像获取模块,用于使用所述二值条纹码进行投影,获取投影图像;
解码模块,用于对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
按照本发明的另一个方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
按照本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本发明所示的一种结构光编码、结构光编解码方法、装置、计算机设备以及存储介质,格雷码与移动辅码均为二值条纹码,通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
具体而言,其以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部分作为编码的整数部分, 综合使用移动辅码作为小数部分, 实现了视场空间的无级细分, 提高了编码的分辨率, 同时由于本发明以二值条纹码的边缘为特征点进行匹配,由于不依赖于像素灰度值,仅依赖二值条纹码的边缘信息,故而具有更高的鲁棒性和适应性。
附图说明
图1为本发明一种结构光编码方法一实施例的结构示意图;
图2为本发明一种结构光编码方法另一实施例的结构示意图;
图3为本发明一种结构光编解码方法的工作流程示意图;
图4为本发明件一种结构光编解码装置一个实施例的结构框图;
图5为本申请计算机设备的一个实施例的硬件架构。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,而非以任何方式限制本发明的保护范围。
在说明书的全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列相目中的一个或多个的任何和全部组合。在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例 而非严格按比例绘制。
还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、步骤、整体、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、步骤、整体、操作、元件、部件和/或它们的组合。
如在说明书中使用的用语“基本上”、 “大约”以及类似的用于用作表示近似的用语,而不用作表示程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。
除非另有限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与 本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词 典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且 将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
实施例一
本发明公开了一种结构光编码方法,所述结构光编码为二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一的特征边界,即各特征边界不重复。
本发明所示的一种结构光编码方法,格雷码与移动辅码均为二值条纹码(即二进制格式的编码),通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
具体而言,本发明所示的一种结构光编码方法,以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部分作为编码的整数部分, 综合使用移动辅码作为小数部分, 实现了视场空间的无级细分,提高了编码的分辨率, 同时由于本发明以二值条纹码的边缘为特征点进行匹配,由于不依赖于像素灰度值,仅依赖二值条纹码的边缘信息,故而具有更高的鲁棒性和适应性。
作为一优选方案,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置,即通过第n幅二进制格雷码主码以及m幅二进制移动编码的位移,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述多个特征边界唯一且全面覆盖格雷码主码,从而将格雷码主码的不同区域内再次细分编码。
本发明所示的一种结构光编码方法,对于某一指定的待检测图像而言,m、n的选择并无特定要求,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,在实际操作中可根据经验确定格雷码主码以及对应的移动辅码的幅数;本实施例中,作为一优选方案,所述格雷码主码幅数n=ceil(),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度,投影仪参数由厂家出厂设定,码字宽度根据经验设定;ceil()表示向上取整函数;移动辅码幅数m=2*n-1。
同时,如前所述,所述格雷码编码的多个边界唯一设置即可,移动辅码的相移的周期只需要在不少于一个格雷码区域内满足唯一性就行,本实施例中,为了便于后续解码,作为一优选方案,所述步骤S1中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
例如可从所述第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位。
也可从所述第n幅格雷码主码开始,所述像素级移动辅码沿相同方向向左或向右每次平移一个位置。如图2所示,二值条纹码包括4幅格雷码主码以及7幅移动辅码,其中,GC1、GC2、GC3、GC4表示格雷码主码,S0-S7表示移动辅码,同样,GC4与S0相同,既作为最后一幅格雷码编码GC4,也作为移动辅码的参考基准S0,移动辅码参考基准S0物理上全为右移。
实施例二
在上述结构光编码方法的基础之上,如图3所示,本发明进一步公开了一种结构光编解码方法,可提高结构光成像系统鲁棒性,具体包括如下步骤:
S1根据实施例一中所示的结构光编码方法生成二值条纹码;
S2使用所述二值条纹码进行投影,获取投影图像;
S3对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
本发明所示的一种结构光编解码方法,格雷码与移动辅码均为二值条纹码,采用格雷码以及辅助移动辅码进行空间编码,以格雷码码字作为主编码,结合移动辅码实现空间唯一编码,通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
具体而言,本发明所示的一种结构光编解码方法,以格雷码自身的误差不累加性优点保证了光编解码的稳健性, 针对格雷码对视场解析的有限性缺陷, 提出将格雷码部分作为编码的整数部分, 综合使用移动辅码作为小数部分, 实现了视场空间的无级细分,提高了编码的分辨率, 同时由于本发明以二值条纹码的边缘为特征点进行匹配,由于不依赖于像素灰度值,仅依赖二值条纹码的边缘信息,故而具有更高的鲁棒性和适应性。
步骤S1中,作为一优选方案,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置,即通过第n幅二进制格雷码主码以及m幅二进制移动编码的位移,在原有格雷码主码的边界的基础之上,形成多个新的特征边界,所述多个特征边界唯一且全面覆盖格雷码主码,从而将格雷码主码的不同区域内再次细分编码。
进一步的,对于某一指定的待检测图像,m、n的选择并无特定要求,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,在实际操作中可根据经验确定格雷码主码以及对应的移动辅码的幅数;本实施例中,作为一优选方案,所述格雷码主码幅数n=ceil(),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度,投影仪参数由厂家出厂设定,码字宽度根据经验设定;ceil()表示向上取整函数;移动辅码幅数m=2*n-1。
同时,如前所述,所述格雷码编码的多个边界唯一设置即可,移动辅码的相移的周期只需要在不少于一个格雷码区域内满足唯一性就行,本实施例中,为了便于后续解码,作为一优选方案,所述步骤S1中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
步骤S1二值条纹编码生成后,转入步骤S2,按照顺序将格雷码主码与移动辅码依次投射到目标物体上,并通过3D相机拍照获取投影图像,最后转入步骤S3对所述投影图像按顺序结合并进行解码,确定绝对编码值K。
作为一优选方案,步骤S3中,用第n幅格雷码主码为参考基准S0,所述步骤S3中,包括如下步骤:
S31解码格雷码主码,获取格雷码主码的编码值k;
S32查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;所述序号可为投影仪分辨率的像素编码。
S33基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
其中,步骤S31中,格雷码的解码过程例如可为先转化为二进制码,然后在转化为十进制数得到格雷码主码码值k。即对于图像上任意一点,根据该点在摄像机拍摄图像中所处的位置进行编码,处于图像中黑色条纹中的码值为0,处于白色条纹中的码值为1,把获取的码值按序排列组成该点的格雷码编码,再把格雷码码字转换成二进制,再转换成十进制,以此获得该点所处的条纹级数。
步骤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表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
进一步的,步骤S32可包括如下步骤:
S321遍历所述第n幅格雷码主码与m幅所述移动辅码,查找对应的特征边界;
S322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
S323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
S324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
为进一步说明本发明所示的种结构光的编解码方法,以下以图1和图2所示的格雷码编码方法为例,分别给出对应的结构光的编解码方法。
其中一实施例中,二值条纹编码方式如图1所示,二值条纹码包括4幅格雷码主码以及7幅移动辅码,GC1、GC2、GC3、GC4表示格雷码主码,S0-S7表示移动辅码。其中,GC4与S0相同,既作为最后一幅格雷码编码GC4,也作为移动辅码的参考基准S0。本实施例中,S1-S4表示移动辅码相对参考基准S0依次向右偏移1-4位,S5-S7表示移动辅码相对参考基准S0依次向左移动1-3位。
对应的结构光编解码方法包括如下步骤:
S101生成图1所示的二值条纹码;
S102使用上述二值条纹码进行投影,获取投影图像;
S103对所述投影图像按顺序结合并进行解码,确定绝对编码值K:所述K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
本实施例中,步骤S103进一步包括:
S1031获取格雷码主码的编码值k。格雷码主码解码为通用格雷码解码,如可通过如下方式获得,根据灰度值得到当前像素点的格雷码,然后将格雷码转换成二进制码;最后将二进制码转换成十进制码(即当前像素所在的行数或者列数)。从而确定k值。图1所示实施例中,主码范围k为[0,…,15]间的整数。以图1中序号为21的编码为例,格雷码编码为1110,响应格雷码主码k=5。
S1032 遍历S0-S7,依次查找指定序号是否存在对应的特征边界,并按照如下公式进行移动辅码解码,对于Si,x=(s+Edir*Eidx)/(2*s)。
其中,s表示格雷码码字宽度,本实施例中s=4。Edir表示移动辅码的等效移动方向,若S1-S7中二值编码条纹边界位于参考边界(即参考基准S0上与该二值编码条纹边界最邻近的条纹边界)的左侧,则Edir =-1;若S1-S7中二值编码条纹边界位于参考边界的右侧,则Edir =+1;对于基准S0,Edir=0。Eidx表示移动辅码的等效移动像素位,其计算值等于二值编码条纹边界与最邻近参考基准S0条纹边界之间序号差的绝对值。
进一步的,步骤S1032还可包括如下步骤:
S10321遍历所述第n幅格雷码主码与m幅所述移动辅码即S0-S7,查找对应的特征边界;
S10322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
S10323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
S10324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
同样以图1中序号为21的编码为例,遍历S0-S7,依次查找是否存在对应的特征边界,最终确认由S2产生该序21号对应的特征边界,由于该特征边界相对参考基准S0的最邻近条纹边界(即参考边界)序号为19号,位于其右侧,二者序号差为2,故Edir=+1、Eidx=2;则该特征边界的编码值x=(4+1*2)/(2*4)=6/8。
S1033基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。完整编码组成包括k(由GC1-GC4编码完成)+像素级移动辅码x(由S0-S7编码完成),图示序号为21的编码,其绝对编码值K=5+6/8。
本技术方案的实施,仅需保证每个序号下的二值编码条纹中,有且仅有一个边界特征存在即可,故更换S1-S7中二值编码条纹顺序,不影响本技术方案实施,其解码方式相同。
如图2所示,本实施例中,二值条纹码也包括4幅格雷码主码以及7幅移动辅码,其中,GC1、GC2、GC3、GC4表示格雷码主码,S0-S7表示移动辅码。其中,GC4与S0相同,既作为最后一幅格雷码编码GC4,也作为移动辅码的参考基准S0,移动辅码相对参考基准S0物理上全为右移。
对应的结构光编解码方法包括如下步骤:
S201生成图2所示实施例二值条纹码;
S202使用二值条纹码进行投影,获取投影图像;
S203对所述投影图像按顺序结合并进行解码,确定绝对编码值K:所述K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
本实施例中,步骤S203进一步包括:
S2031获取格雷码主码的编码值k;格雷码主码解码为通用格雷码解码,如可通过如下方式获得,根据灰度值得到当前像素点的格雷码,然后将格雷码转换成二进制码;最后将二进制码转换成十进制码(即当前像素所在的行数或者列数)。从而确定k值。本实施例中,主码范围k为[0,…,15]间的整数。以图2序号为25的编码为例,其格雷码编码为1010,响应格雷码主码k=6。
S2032遍历S0-S7,依次查找是否存在特征边界,然后按照如下公式进行移动辅码解码,对于Si,其上特征边界对应的编码值x=(s+Edir*Eidx)/(2*s)。其中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =-1;若所述特征边界位于所述参考边界的右侧,则Edir =+1;Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
进一步的,步骤S2032还可包括如下步骤:
S20321遍历所述第n幅格雷码主码与m幅所述移动辅码即S0-S7,查找对应的特征边界;
S20322 确定所述特征边界对应的参考边界,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
S20323 基于所述特征边界与所述参考边界的相对位置,确定所述移动辅码的等效移动方向Edir与所述移动辅码的等效移动像素位Eidx;
S20324 确定所述特征边界的编码值x =(s+Edir*Eidx)/(2*s)。
同样以图2中序号为25的编码为例,遍历S0-S7,依次查找是否存在二值边界,最终确认由S6产生该序号的特征边界,该特征背景相对基准S0的最邻近条纹边界(即参考边界)序号为27号,位于其左侧,其序号差为2,故Edir=-1、Eidx=2,对应的移动辅码编码x=(4+(-1)*2)/(2*4)=2/8。
S2033基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。完整编码组成包括格雷码主码的编码值k(由GC1-GC4编码完成)+像素级移动辅码x(由S0-S7编码完成),则图示序号为25的编码,其绝对编码值K=6+2/8。
实施例三
如图4所示,本发明还公开了一种结构光编解码装置10,包括:
编码模块11,用于生成二值条纹码,所述二值条纹码包括n幅格雷码主码以及m幅移动辅码,其中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置,以形成多个唯一的特征边界;
投影图像获取模块12,用于使用所述二值条纹码进行投影,获取投影图像;
解码模块13,用于对所述投影图像按顺序结合并进行解码,以确定全部边界的绝对编码值K:所述绝对编码值K= k+ x,其中,k为所述格雷码主码的编码值,x为特征边界的编码值。
本发明所示的一种结构光编解码装置10,格雷码与移动辅码均为二值条纹码,采用格雷码以及辅助移动辅码进行空间编码,以格雷码码字作为主编码,结合二进制移动编码实现空间唯一编码,通过投射二值条纹码进行空间编码,以二值条纹码的特征边界作为特征匹配点,在保证成像系统亚像素精度的基础下,对被测工件表面反射及纹理具有更高的鲁棒性。
优选的,所述编码模块11中,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单位的大小与投影仪的像素点相同设置。
进一步的,所述编码模块11中,所述格雷码主码幅数n=ceil(),其中,period表示格雷码周期数,其值等于投影仪X方向分辨率/码字宽度;ceil()表示向上取整函数;所述移动辅码的幅数m=2*n-1。
优选的,所述编码模块11中,所述第n幅格雷码主码与m幅所述移动辅码之间平移设置时,每次平移一个像素点设置。
优选的,所述解码模块13包括:
格雷码主码解码子模块,用于解码格雷码主码,获取格雷码主码的编码值k;
特征边界解码子模块,用于查找所述第n幅格雷码主码与m幅所述移动辅码以获取指定序号对应的特征边界,基于所述特征边界与参考边界的相对位置确定对应所述特征边界的编码值x大小,所述参考边界为参考基准S0上与所述特征边界最邻近的边界;
边界确定子模块,基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
进一步的,所述特征边界解码子模块中,对于任一特征边界,其对应的编码值x=(s+Edir*Eidx)/(2*s)。其中,s表示格雷码码字宽度, Edir表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =-1;若所述特征边界位于所述参考边界的右侧,则Edir =+1; Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
优选的,所述解码模块13包括:
格雷码主码解码子模块,用于解码格雷码主码,获取格雷码主码的编码值k;
移动辅码解码子模块,用于查找所述边界对应的格雷码移动辅码,基于所述边界位置确定对应编码值的x大小;
边界确定子模块,用于基于所述格雷码主码的编码值k与所述特征边界的编码值x获取边界的绝对编码值K大小。
进一步的,所述第n幅格雷码主码记为S0,所述移动辅码解码子模块中,依据如下公式获取特征边界的编码值x, x=(s+Edir*Eidx)/(2*s),其中, s表示格雷码码字宽度,Edir表示移动辅码的等效移动方向,若所述特征边界位于所述参考基准S0上,则Edir=0;若所述特征边界位于所述参考边界的左侧,则Edir =-1;若所述特征边界位于所述参考边界的右侧,则Edir =+1; Eidx表示移动辅码的等效移动像素位,其大小为所述特征边界与所述参考边界之间序号差的绝对值。
实施例四
图5所示是本发明实施例提供的一种计算机设备的结构示意图,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图5所示。需要指出的是,图5仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器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还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行结构光编解码装置10,以实现方法实施例中的结构光编解码方法。
实施例五
本申请还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储结构光编解码装置的程序代码,被处理器执行时实现方法实施例中的结构光编解码方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
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所述的一种结构光编码方法,其特征在于,所述特征边界将所述格雷码主码细分为若干最小单元,每个所述最小单元的大小与投影仪的像素点相同设置。
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任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110000614.XA CN112729166B (zh) | 2021-01-04 | 2021-01-04 | 结构光编码方法、编解码方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110000614.XA CN112729166B (zh) | 2021-01-04 | 2021-01-04 | 结构光编码方法、编解码方法、装置、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112729166A CN112729166A (zh) | 2021-04-30 |
CN112729166B true CN112729166B (zh) | 2022-03-11 |
Family
ID=75609466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110000614.XA Active CN112729166B (zh) | 2021-01-04 | 2021-01-04 | 结构光编码方法、编解码方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112729166B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114061489B (zh) * | 2021-11-15 | 2024-07-05 | 资阳联耀医疗器械有限责任公司 | 一种用于三维信息重建的结构光编码方法及系统 |
CN114659466B (zh) * | 2022-03-30 | 2023-04-28 | 西安交通大学 | 一种基于事件相机的边移结构光三维测量方法 |
CN117333560B (zh) * | 2023-12-01 | 2024-02-20 | 北京航空航天大学杭州创新研究院 | 场景自适应的条纹结构光解码方法、装置、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012042332A (ja) * | 2010-08-19 | 2012-03-01 | Canon Inc | 三次元計測装置及び三次元計測方法 |
CN103033147A (zh) * | 2013-01-09 | 2013-04-10 | 中航华东光电有限公司 | 一种结构光三维测量装置及其测量方法 |
CN105890546A (zh) * | 2016-04-22 | 2016-08-24 | 无锡信捷电气股份有限公司 | 基于正交格雷码和线移相结合的结构光三维测量方法 |
CN106979757A (zh) * | 2017-03-03 | 2017-07-25 | 浙江华睿科技有限公司 | 一种三维测量方法及装置 |
CN109816738A (zh) * | 2018-12-13 | 2019-05-28 | 梁艳玲 | 一种基于编码结构光的条纹边界提取算法 |
TW201939444A (zh) * | 2018-03-05 | 2019-10-01 | 國立中正大學 | 結合格雷編碼之彩色結構光三維量測方法及其系統 |
CN110686599A (zh) * | 2019-10-31 | 2020-01-14 | 中国科学院自动化研究所 | 基于彩色格雷码结构光的三维测量方法、系统、装置 |
-
2021
- 2021-01-04 CN CN202110000614.XA patent/CN112729166B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012042332A (ja) * | 2010-08-19 | 2012-03-01 | Canon Inc | 三次元計測装置及び三次元計測方法 |
CN103033147A (zh) * | 2013-01-09 | 2013-04-10 | 中航华东光电有限公司 | 一种结构光三维测量装置及其测量方法 |
CN105890546A (zh) * | 2016-04-22 | 2016-08-24 | 无锡信捷电气股份有限公司 | 基于正交格雷码和线移相结合的结构光三维测量方法 |
CN106979757A (zh) * | 2017-03-03 | 2017-07-25 | 浙江华睿科技有限公司 | 一种三维测量方法及装置 |
TW201939444A (zh) * | 2018-03-05 | 2019-10-01 | 國立中正大學 | 結合格雷編碼之彩色結構光三維量測方法及其系統 |
CN109816738A (zh) * | 2018-12-13 | 2019-05-28 | 梁艳玲 | 一种基于编码结构光的条纹边界提取算法 |
CN110686599A (zh) * | 2019-10-31 | 2020-01-14 | 中国科学院自动化研究所 | 基于彩色格雷码结构光的三维测量方法、系统、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112729166A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112729166B (zh) | 结构光编码方法、编解码方法、装置、计算机设备及介质 | |
US9117267B2 (en) | Systems and methods for marking images for three-dimensional image generation | |
CN112102411A (zh) | 一种基于语义误差图像的视觉定位方法及装置 | |
CN107036556B (zh) | 基于分段量化相位编码的结构光三维测量方法 | |
US8436853B1 (en) | Methods and systems for acquiring and ranking image sets | |
US9163938B2 (en) | Systems and methods for image acquisition | |
CN109540039B (zh) | 一种基于循环互补格雷码的三维面形测量方法 | |
CN109993826B (zh) | 一种结构光三维图像重建方法、设备及系统 | |
CN113607085B (zh) | 一种基于半截断正弦条纹的二值离焦三维测量方法及装置 | |
CN115147511A (zh) | 一种边缘构件详图生成方法、装置、设备及可读介质 | |
CN115451860A (zh) | 一种基于灰度复用格雷码的相移三维测量方法 | |
Cai et al. | Absolute phase measurement with four patterns based on variant shifting phases | |
US8019181B2 (en) | Image generation apparatus, image processing apparatus, computer readable medium and computer data signal | |
CN113048914A (zh) | 相位解包裹方法及装置 | |
CN116558445B (zh) | 一种条纹投影的相位解码方法、计算机可读存储介质 | |
CN115195126B (zh) | 3d打印物体的二维匹配方法、装置、电子设备及介质 | |
CN108989682B (zh) | 一种主动光场深度成像方法及系统 | |
Li et al. | High-speed three-dimensional shape measurement based on tripartite complementary Gray-coded light | |
CN113012204B (zh) | 多模态图像的配准方法、装置、存储介质及处理器 | |
KR20190103833A (ko) | 실시간 3차원 데이터 측정 방법 | |
CN114119661A (zh) | 一种目标追踪处理器、目标追踪方法及装置 | |
CN114693919A (zh) | 一种目标检测方法、终端设备及存储介质 | |
CN114359490A (zh) | 基于多模态融合的电磁地图构建方法及相关装置 | |
Wang et al. | New structured light encoding method for range-data acquisition | |
CN112288759A (zh) | 一种边界提取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |