CN101281024A - 一种结构光编码、解码方法及编码、解码装置 - Google Patents

一种结构光编码、解码方法及编码、解码装置 Download PDF

Info

Publication number
CN101281024A
CN101281024A CNA2008101130806A CN200810113080A CN101281024A CN 101281024 A CN101281024 A CN 101281024A CN A2008101130806 A CNA2008101130806 A CN A2008101130806A CN 200810113080 A CN200810113080 A CN 200810113080A CN 101281024 A CN101281024 A CN 101281024A
Authority
CN
China
Prior art keywords
lines
point
coding unit
value
basic coding
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.)
Granted
Application number
CNA2008101130806A
Other languages
English (en)
Other versions
CN101281024B (zh
Inventor
谢东海
黄英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongxing Technology Co ltd
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN2008101130806A priority Critical patent/CN101281024B/zh
Publication of CN101281024A publication Critical patent/CN101281024A/zh
Application granted granted Critical
Publication of CN101281024B publication Critical patent/CN101281024B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种结构光编码方法、解码方法和结构光编码装置、解码装置。其中,结构光编码方法包括:基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元;按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成任意相邻的N个基本编码单元具有唯一列编码的编码序列;按照所述编码序列对光线进行编码,得到结构光;其中,M和N为大于1的整数。本发明中所公开的技术方案,能够提高解码的效率。

Description

一种结构光编码、解码方法及编码、解码装置
技术领域
本发明涉及一种结构光编码方法、解码方法及结构光编码装置、解码装置。
背景技术
在计算机视觉、机器人学以及计算机图形学等领域中,通常需要获取三维目标的外形等空间信息,以便将物体在计算机中进行真实的三维重建。
为了获取三维目标的空间信息,目前经常采用通过光栅投影结构光的方法,该方法中,投射光束通过根据空间结构光编码的光栅投影在三维被测目标上形成结构光,被测目标的空间信息经过结构光编码成为条纹图形,这些变形条纹由与投影中心成一定角度的摄像机记录,通过对记录的一系列投影光栅进行结构光解码及后续处理,得到被测目标每个空间点的测量信息。可见,结构光编码方法在基于结构光投影法的数据获取中起着至关重要的作用,编码技术的好坏直接影响着系统的测量精度、速度和可靠性。
目前,常用的编码方法主要分为基于空间邻域信息的编码和基于时间序列的编码两种。其中,基于时间序列的编码顺序的将多种光栅投影到同一个物体上,同步采集成像信息并按顺序排列起来,从而得到连续的颜色信息来组成编码,但这类方法需要有专门的设备来控制多个光栅的顺序投影和同步采集,操作起来比较困难。基于空间邻域信息的编码只投影一种光栅,利用相邻的条纹来组成不同的编码,这类方法操作简单,易于实现。但这类方法目前多是基于二维信息进行编码的。如图1和图2所示,图1中利用网格点的不同构造作为基本编码单元,如图1中的四种基本编码单元0+、0-、1+、1-;图2中利用正方体内黑白像素的数量对比作为基本编码单元,如图2中的三种基本编码单元。之后,利用所确定的基本编码单元进行结构光编码。这类方法中由于多是基于二维信息进行编码的,因此在解码时,需要对结构光图像在二维空间中识别出这些基本编码单元,即提取出上述的网格点或正方体中的黑白像素,而在二维空间中提取网格点时,网格点的颜色很容易受到干扰;在二维空间中提取正方形时,由于正方形容易受变形的影响,因此提取较困难,这些势必造成解码效率较低。
发明内容
有鉴于此,本发明中一方面提供一种结构光编码方法和解码方法,另一方面提供一种结构光编码装置和解码装置,以便提高结构光的解码效率。
本发明所提供的结构光编码方法,包括:
基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元;
按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成编码序列,所述编码序列中任意相邻的N个基本编码单元具有唯一的列编码;
按照所述编码序列对光线进行编码,得到结构光;
其中,M和N为大于1的整数。
较佳地,所述M根线条包括:明、暗两根线条;
所述基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元包括:基于按设定顺序排列为左右的所述两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
较佳地,所述设定顺序为:明线条在左、暗线条在右;或者为:明线条在右、暗线条在左。
较佳地,所述N为4。
本发明所提供的结构光解码方法,包括:
从结构光图像中确定不同线条间的边界点;
根据每根线条两侧的边界点的位置,确定所述线条的宽度;
根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元;
根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述基本列编码,得到结构光的编码序列;
其中,M和N为大于1的整数。
较佳地,所述从结构光图像中确定不同线条间的边界点包括:
从左到右对所述结构光图像的每个像素行进行扫描;
根据所述像素行中各像素点的亮度值,生成亮度曲线;
确定所述亮度曲线中波峰点与波谷点之间的过渡点,将所述过渡点作为不同线条间的边界点。
较佳地,所述确定亮度曲线中波峰点与波谷点之间的过渡点包括:
根据不同线条的宽度设定计算间隔,所述计算间隔大于或等于亮度曲线中相邻一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离;
在所述亮度区域中从左到右依次计算每个计算间隔内的最大值和最小值,得到所述计算间隔内的波峰值和波谷值,计算所述计算间隔内波峰值和波谷值的平均值,并在所述计算间隔内搜索一个点,使所述点的左邻域点值和右邻域点值分别位于所述平均值的两侧,将搜索到的点作为所述计算间隔内波峰点与波谷点之间的过渡点。
较佳地,所述线条包括明、暗两种线条;
所述将过渡点作为不同线条间的边界点包括:将所述亮度曲线中波峰点到波谷点之间的过渡点作为明线条与暗线条之间的边界点,并将波谷点到波峰点之间的过渡点作为暗线条与明线条之间的边界点;
所述根据每根线条两侧的边界点的位置,确定所述线条的宽度包括:按照从左到右的顺序,根据暗线条与明线条之间的边界点和明线条与暗线条之间的边界点的位置,确定对应的明线条的宽度;根据明线条与暗线条之间的边界点和暗线条与明线条之间的边界点的位置,确定对应的暗线条的宽度。
较佳地,所述M根线条包括:明、暗两根线条;
所述根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元包括:根据按设定顺序排列为左右的所述两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
本发明所提供的结构光编码装置,包括:
编码单元确定模块,用于基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元;
编码序列生成模块,用于按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成编码序列,使所述编码序列中任意相邻的N个基本编码单元具有唯一的列编码;
结构光编码模块,用于按照所述编码序列对光线进行编码,得到结构光;
其中,M和N为大于1的整数。
较佳地,所述M根线条包括:明、暗两根线条;则所述编码单元确定模块包括:明暗线条编码单元确定子模块,用于基于按设定顺序排列为左右的所述两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
本发明所提供的结构光解码装置,包括:
边界点确定模块,用于从结构光图像中确定不同线条间的边界点;
线条宽度确定模块,用于根据每根线条两侧的边界点的位置,确定所述线条的宽度;
编码单元解析模块,用于根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元;
编码序列解析模块,用于根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述基本列编码,得到结构光的编码序列;
其中,M和N为大于1的整数。
较佳地,所述边界点确定模块包括:
扫描子模块,用于从左到右对所述结构光图像的每个像素行进行扫描;
亮度曲线生成子模块,用于根据所述像素行中各像素点的亮度值,生成亮度曲线;
边界点确定子模块,用于确定所述亮度曲线中波峰点与波谷点之间的过渡点,并将所述过渡点作为不同线条间的边界点。
较佳地,所述边界点确定子模块包括:
计算间隔设定单元,用于根据不同线条的宽度设定计算间隔,所述计算间隔大于或等于亮度曲线中相邻一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离;
过渡点确定单元,用于在所述亮度区域中从左到右依次计算每个计算间隔内的最大值和最小值,得到所述计算间隔内的波峰值和波谷值,计算所述计算间隔内波峰值和波谷值的平均值,并在所述计算间隔内搜索一个点,使所述点的左邻域点值和右邻域点值分别位于所述平均值的两侧,将搜索到的点作为所述计算间隔内波峰点与波谷点之间的过渡点。
较佳地,所述M根线条包括:明、暗两根线条;则所述编码单元解析模块包括:明暗线条编码单元解析子模块,用于根据按设定顺序排列为左右的所述两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
从上述方案可以看出,本发明中基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元,并利用该基本编码单元生成编码序列,从而按照该编码序列对光线进行编码,使得解码时,可只需根据一维的线条间的边界点确定线条宽度后得到基本编码单元,进而根据该基本编码单元进行解码,即解码时无需获取二维的空间信息,只需利用一维的信息便可进行解码,使得解码效率得到了提高。
进一步地,通过利用明、暗两种线条,使得线条间的颜色对比分明,解码时识别不同线条间的边界点的准确性较高,从而进一步提高了解码效率。
附图说明
图1为现有技术中结构光编码方法中的一种基本编码单元的示意图;
图2为现有技术中结构光编码方法中的又一种基本编码单元的示意图;
图3为本发明实施例中结构光编码方法的示例性流程图;
图4为图3所示方法中的基本编码单元的示意图;
图5为本发明实施例中的结构光投影到目标上的结构光图像;
图6为本发明实施例中结构光解码方法的示例性流程图;
图7为图6所示方法中基于亮度曲线确定边界点的方法示意图;
图8为本发明实施例中结构光编码装置的示例性结构图;
图9为本发明实施例中结构光解码装置的示例性结构图;
图10为本发明实施例中边界点确定模块的内部结构示意图;
图11为图10所示边界点确定模块中边界点确定子模块的内部结构示意图。
具体实施方式
本发明实施例中,为了提高解码效率,将二维信息的基本编码单元变为一维信息的基本编码单元,并利用该基本编码单元进行结构光编码。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图3为本发明实施例中结构光编码方法的示例性流程图。如图3所示,该方法包括如下流程:
步骤301,基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元。其中,M为大于1的整数。
本实施例中的M根线条可以为任意的M根能够区分边界的线条,例如:若M=2,则M根线条可以为:明、暗两根线条;若M=3,则M根线条可以为:明、暗、灰三根线条;依次类推;M可以为其可以实现的任意取值。其中,明线条可以为绿色、白色或黄色等亮度较高的颜色的线条。
本实施例中,以M根线条包括:明、暗两根线条的情况为例,则本步骤中,可基于按设定顺序排列为左右的两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
假设设定顺序为:明线条在左、暗线条在右(当然设定顺序也可以是:暗线条在左、明线条在右),则如图4所示,图4为本发明实施例中一种基本编码单元的示意图,若分别用0、1、2表示三种基本编码单元,则可将左侧的明线条比右侧暗线条宽的情况对应基本编码单元0,将左侧的明线条比右侧暗线条窄的情况对应基本编码单元1,将左侧明线条与右侧暗线条宽度相等的情况对应基本编码单元2。或者,也可有其他的0、1、2与基本编码单元的对应关系,此处不再一一列举。
步骤302,按照N个基本编码单元构成一个基本列编码的原则,利用基本编码单元生成任意相邻的N个基本编码单元具有唯一列编码的编码序列。其中,N为大于1的整数。
本步骤中,可根据De Bruijn Sequences理论,利用基本编码单元生成编码序列,使该编码序列中任意一段设定长度的基本编码单元序列,如包括N个基本编码单元的基本编码单元序列,具有唯一的列编码。
本步骤中,仍以M根线条包括:明、暗两根线条的情况为例,则对于图4所示的编码为0、1、2的三个基本编码单元,假设设定长度的基本编码单元序列为包括4(即N=4)个基本编码单元的基本编码单元序列,即4个基本编码单元对应一个列编码,如0000,0012等,则可得到34=81种列编码,若将这些列编码从头到尾依次进行排列,则可得到0000,0001,0010,0100,1000,0002,0020,0200,2001,0011,0110,1100,1001,0012,0120,1200,2002,0021,0210,2100,1002,0022,0220,2201,2010,0101,1010,0102,1020,0201,2011,0111,1110,1101,1011,0112,1120,1201,2012,0121,1210,2101,1012,0122,1220,2202,2020,0202,2021,0211,2110,1102,1021,0212,2120,1202,2022,0221,2210,2102,1022,0222,2221,2211,2111,1111,1112,1121,1211,2112,1122,1221,2212,2121,1212,2122,1222,2222,2220,2200,2000。相应地,利用基本编码单元生成的任意相邻的4个基本编码单元具有唯一列编码的编码序列可以为:000010002001100120021002201010201110112012101220202110212022102221111211221212222000。
步骤303,按照所生成的编码序列对光线进行编码,得到结构光。
本步骤中,为了得到结构光,可按照所生成的编码序列制作相应的光栅,之后将光线透过光栅进行投影,则可得到对应的编码光线,即结构光。
例如,图5示出了本发明实施例中按照上述编码序列:000010002001100120021002201010201110112012101220202110212022102221111211221212222000得到的结构光投影到目标上的结构光图像。
以上对本发明实施例中的结构光编码方法进行了详细描述,对应该结构光编码方法,图6中示出了本发明实施例中结构光解码方法的示例性流程图。如图6所示,该流程包括如下步骤:
步骤601,从结构光图像中确定不同线条间的边界点。
本实施例中,从结构光图像中确定不同线条间的边界点的方法可有多种,例如:可以为目前图像处理技术中的利用梯度信息的方法或离散二阶差分法等。
其中,利用梯度信息的方法是根据梯度来求过渡点的方法,该方法中认为过渡点为局部范围内的梯度极大值点,因此可以在设定范围内计算所有点的梯度值,然后搜索极大值。离散二阶差分法中,认为曲线上的过渡点对应的二阶差分理论值为0,但在离散情况下计算得到的二阶差分不可能为0,而是在过渡点的邻域点出现正负交替的情况,因此可以在设定的范围内搜索邻域点二阶差分正负交替的点来得到过渡点。
此外,本实施例中,还列举了另外一种方法,该方法可称为基于亮度曲线的方法。
本实施例中,对于图5所示的结构光图像,基于亮度曲线的方法可如图7所示,图7为本发明实施例中基于亮度曲线确定边界点的方法示意图。该方法包括:
A、从左到右对所述结构光图像的每个像素行进行扫描。如图7中的上部分所示,该部分示出了当前扫描的一个像素行的图像,为了清晰起见,图7中只示出了当前像素行的一部分。
B、根据所述像素行中各像素点的亮度值,生成亮度曲线。如图7中的下部分所示,该部分示出了对应图7中的上部分所示像素行的亮度曲线图。
C、确定亮度曲线中波峰点与波谷点之间的过渡点。图7中,两根虚线之间的黑色圆点就是一个过渡点。确定这些过渡点的方法可以有多种,其中一种为:首先根据不同线条的宽度设定计算间隔,如图7中的两条虚线之间的间隔,并使该计算间隔大于或等于相邻的一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离;然后在所述亮度曲线中相同的计算间隔内从左到右依次计算每个间隔内(如图7中的两根虚线之间)的最大值和最小值,得到该计算间隔内的波峰值和波谷值,之后计算该最大值(波峰值)和最小值(波谷值)的平均值,并在该计算间隔内,即两根虚线之间搜索一个点,使该点的左邻域点值和右邻域点值分别位于该平均值的两侧,即左邻域点值和右邻域点分别比该平均值大和小或者分别比该平均值小和大,则该点就是该计算间隔内波峰点和波谷点之间的过渡点。其中,若该点的左邻域点值和右邻域点值分别比所述平均值大和小,那么该点就是波峰点到波谷点之间的过渡点,若分别比所述平均值小和大,那么该点就是波谷点到波峰点之间的过渡点。图7中过渡点的左邻域点值比平均值小,右邻域点值比平均值大,则该点即为波谷点到波峰点之间的过渡点。
D、将所确定的过渡点作为不同线条间的边界点。
本步骤中,对于图5所示编码时采用明、暗两种线条情况,则亮度曲线中波峰点到波谷点之间的过渡点为明线条与暗线条之间的边界点,波谷点到波峰点之间的过渡点为暗线条与明线条之间的边界点。
步骤602,根据每根线条两侧的边界点的位置,确定对应线条的宽度。
本步骤中,对于图5所示编码时采用明、暗两种线条情况,可按照从左到右的顺序,根据暗线条与明线条之间的边界点和明线条与暗线条之间的边界点的位置,确定对应的明线条的宽度;根据明线条与暗线条之间的边界点和暗线条与明线条之间的边界点的位置,确定对应的暗线条的宽度。
步骤603,根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元。
本实施例中,对于M根线条包括:明、暗两根线条的情况,可根据按设定顺序排列为左右的两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
对于图5所示编码时设定顺序为明线条在左、暗线条在右的情况,假设将从波峰点到波谷点之间的过渡点记为0,将从波谷点到波峰点之间的过渡点记为1,则每三个分别标记为101的过渡点之间的线条对应一个基本编码单元,根据过渡点1和过渡点0之间亮线条的宽度、以及过渡点0和过渡点1之间暗线条的宽度的对比关系,可解析出该标记为101的过渡点之间的线条对应图4中的哪个基本编码单元,如果左侧明线条比右侧暗线条宽,则对应基本编码单元0;如果左侧明线条比右侧暗线条窄,则对应基本编码单元1;如果左侧明线条与右侧暗线条宽度相等,则对应基本编码单元2。
步骤604,根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述列编码确定所述结构光的编码序列。
本实施例中,对于图5所示的结构光图像,根据基本编码单元的邻域关系,可得到任意截取的相邻4个基本编码单元对应的基本列编码,根据这些基本列编码及其位置的唯一性,进而可得到结构光的编码序列。
以上对本发明实施例中的结构光编码方法和解码方法进行了详细描述,下面再对本发明实施例中应用上述方法的结构光编码装置和解码装置进行详细描述。
图8为本发明实施例中结构光编码装置的示例性结构图。如图8所示,该装置包括:编码单元确定模块、编码序列生成模块和结构光编码模块。
其中,编码单元确定模块用于基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元。其中,M为大于1的整数。
编码序列生成模块,用于按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成任意相邻的N个基本编码单元具有唯一列编码的编码序列。其中,N为大于1的整数。
结构光编码模块,用于按照所述编码序列对光线进行编码,得到结构光。
其中,若M根线条包括明、暗两根线条,则本实施例中的编码单元确定模块可包括明暗线条编码单元确定子模块(图中未示出),用于基于按设定顺序排列为左右的两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
本实施例中的结构光编码装置中各模块的具体操作可与图3所示方法中各步骤中的相应操作一致,此处不再一一赘述。
图9为本发明实施例中结构光解码装置的示例性结构图。如图9所示,该装置包括:边界点确定模块、线条宽度确定模块、编码单元解析模块和编码序列解析模块。
其中,边界点确定模块用于从结构光图像中确定不同线条间的边界点。
线条宽度确定模块用于根据每根线条两侧的边界点的位置,确定所述线条的宽度。
编码单元解析模块用于根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元。其中,M为大于1的整数。
编码序列解析模块用于根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述基本列编码,得到结构光的编码序列。其中,N为大于1的整数。
具体实现时,边界点确定模块可有多种具体实现形式,其中对应图7所示基于亮度曲线的方法可有如图10所示的结构示意图,包括:扫描子模块、亮度曲线生成子模块和边界点确定子模块。
其中,扫描子模块用于从左到右对所述结构光图像的每个像素行进行扫描。
亮度曲线生成子模块用于根据所述像素行中各像素点的亮度值,生成亮度曲线。
边界点确定子模块用于确定所述亮度曲线中波峰点与波谷点之间的过渡点,并将所述过渡点作为不同线条间的边界点。
具体实现时,边界点确定子模块的内部结构还可以如图11所示,包括:计算间隔设定单元和过渡点确定单元。
其中,计算间隔设定单元用于根据不同线条的宽度设定计算间隔,所述计算间隔大于或等于亮度曲线中相邻一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离。
过渡点确定单元用于在所述亮度区域中从左到右依次计算每个计算间隔内的最大值和最小值,得到该计算间隔内的波峰值和波谷值,计算所述计算间隔内波峰值和波谷值的平均值,并在所述计算间隔内搜索一个点,使所述点的左邻域点值和右邻域点值分别位于所述平均值的两侧,将搜索到的点作为所述计算间隔内波峰点与波谷点之间的过渡点。
其中,若M根线条包括明、暗两根线条,则本实施例中的编码单元解析模块可包括:明暗线条编码单元解析子模块(图中未示出),用于根据按设定顺序排列为左右的两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1、一种结构光编码方法,其特征在于,该方法包括:
基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元;
按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成编码序列,所述编码序列中任意相邻的N个基本编码单元具有唯一的列编码;
按照所述编码序列对光线进行编码,得到结构光;
其中,M和N为大于1的整数。
2、如权利要求1所述的方法,其特征在于,所述M根线条包括:明、暗两根线条;
所述基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元包括:基于按设定顺序排列为左右的所述两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
3、如权利要求2所述的方法,其特征在于,所述设定顺序为:明线条在左、暗线条在右;或者为:明线条在右、暗线条在左。
4、如权利要求2所述的方法,其特征在于,所述N为4。
5、一种结构光解码方法,其特征在于,该方法包括:
从结构光图像中确定不同线条间的边界点;
根据每根线条两侧的边界点的位置,确定所述线条的宽度;
根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元;
根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述基本列编码,得到结构光的编码序列;
其中,M和N为大于1的整数。
6、如权利要求5所述的方法,其特征在于,所述从结构光图像中确定不同线条间的边界点包括:
从左到右对所述结构光图像的每个像素行进行扫描;
根据所述像素行中各像素点的亮度值,生成亮度曲线;
确定所述亮度曲线中波峰点与波谷点之间的过渡点,将所述过渡点作为不同线条间的边界点。
7、如权利要求6所述的方法,其特征在于,所述确定亮度曲线中波峰点与波谷点之间的过渡点包括:
根据不同线条的宽度设定计算间隔,所述计算间隔大于或等于亮度曲线中相邻一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离;
在所述亮度曲线中从左到右依次计算每个计算间隔内的最大值和最小值,得到所述计算间隔内的波峰值和波谷值,计算所述计算间隔内波峰值和波谷值的平均值,并在所述计算间隔内搜索一个点,使所述点的左邻域点值和右邻域点值分别位于所述平均值的两侧,将搜索到的点作为所述计算间隔内波峰点与波谷点之间的过渡点。
8、如权利要求6所述的方法,其特征在于,所述线条包括明、暗两种线条;
所述将过渡点作为不同线条间的边界点包括:将所述亮度曲线中波峰点到波谷点之间的过渡点作为明线条与暗线条之间的边界点,并将波谷点到波峰点之间的过渡点作为暗线条与明线条之间的边界点;
所述根据每根线条两侧的边界点的位置,确定所述线条的宽度包括:按照从左到右的顺序,根据暗线条与明线条之间的边界点和明线条与暗线条之间的边界点的位置,确定对应的明线条的宽度;根据明线条与暗线条之间的边界点和暗线条与明线条之间的边界点的位置,确定对应的暗线条的宽度。
9、如权利要求5所述的方法,其特征在于,所述M根线条包括:明、暗两根线条;
所述根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元包括:根据按设定顺序排列为左右的所述两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
10、一种结构光编码装置,其特征在于,该装置包括:
编码单元确定模块,用于基于按设定顺序排列的M根线条间的宽窄变化确定基本编码单元;
编码序列生成模块,用于按照N个基本编码单元构成一个基本列编码的原则,利用所述基本编码单元生成编码序列,使所述编码序列中任意相邻的N个基本编码单元具有唯一的列编码;
结构光编码模块,用于按照所述编码序列对光线进行编码,得到结构光;
其中,M和N为大于1的整数。
11、如权利要求10所述的装置,其特征在于,所述M根线条包括:明、暗两根线条;
所述编码单元确定模块包括:明暗线条编码单元确定子模块,用于基于按设定顺序排列为左右的所述两根线条的宽度对比,确定左侧线条比右侧线条宽、左侧线条比右侧线条窄和左侧线条与右侧线条宽度相等的三种基本编码单元。
12、一种结构光解码装置,其特征在于,该装置包括:
边界点确定模块,用于从结构光图像中确定不同线条间的边界点;
线条宽度确定模块,用于根据每根线条两侧的边界点的位置,确定所述线条的宽度;
编码单元解析模块,用于根据按设定顺序排列的M根线条间的宽窄变化解析出基本编码单元;
编码序列解析模块,用于根据基本编码单元的邻域关系,解析出任意相邻的N个基本编码单元对应的基本列编码,根据所述基本列编码,得到结构光的编码序列;
其中,M和N为大于1的整数。
13、如权利要求12所述的装置,其特征在于,所述边界点确定模块包括:
扫描子模块,用于从左到右对所述结构光图像的每个像素行进行扫描;
亮度曲线生成子模块,用于根据所述像素行中各像素点的亮度值,生成亮度曲线;
边界点确定子模块,用于确定所述亮度曲线中波峰点与波谷点之间的过渡点,并将所述过渡点作为不同线条间的边界点。
14、如权利要求13所述的装置,其特征在于,所述边界点确定子模块包括:
计算间隔设定单元,用于根据不同线条的宽度设定计算间隔,所述计算间隔大于或等于亮度曲线中相邻一个波峰和一个波谷之间的距离,且小于相邻的两个波峰和一个波谷、或一个波峰和两个波谷的距离;
过渡点确定单元,用于在所述亮度区域中从左到右依次计算每个计算间隔内的最大值和最小值,得到所述计算间隔内的波峰值和波谷值,计算所述计算间隔内波峰值和波谷值的平均值,并在所述计算间隔内搜索一个点,使所述点的左邻域点值和右邻域点值分别位于所述平均值的两侧,将搜索到的点作为所述计算间隔内波峰点与波谷点之间的过渡点。
15、如权利要求12所述的装置,其特征在于,所述M根线条包括:明、暗两根线条;
所述编码单元解析模块包括:明暗线条编码单元解析子模块,用于根据按设定顺序排列为左右的所述两根线条的宽度对比,确定当前按设定顺序排列为左右的两根线条为左侧线条比右侧线条宽或左侧线条比右侧线条窄或左侧线条与右侧线条宽度相等的基本编码单元。
CN2008101130806A 2008-05-27 2008-05-27 一种结构光解码方法及解码装置 Expired - Fee Related CN101281024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101130806A CN101281024B (zh) 2008-05-27 2008-05-27 一种结构光解码方法及解码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101130806A CN101281024B (zh) 2008-05-27 2008-05-27 一种结构光解码方法及解码装置

Publications (2)

Publication Number Publication Date
CN101281024A true CN101281024A (zh) 2008-10-08
CN101281024B CN101281024B (zh) 2012-04-18

Family

ID=40013607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101130806A Expired - Fee Related CN101281024B (zh) 2008-05-27 2008-05-27 一种结构光解码方法及解码装置

Country Status (1)

Country Link
CN (1) CN101281024B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102620650A (zh) * 2011-01-26 2012-08-01 上海瑞伯德智能系统科技有限公司 视频钢管跟踪系统
CN103913130A (zh) * 2014-04-14 2014-07-09 哈尔滨理工大学 一种用于视觉三维测量组合编解码的容错方法
CN104457607A (zh) * 2014-12-10 2015-03-25 东北大学 一种面向深度测量的沙漏码结构光的编解码方法
CN104751414A (zh) * 2013-12-25 2015-07-01 联想(北京)有限公司 一种数据处理方法和电子设备
CN104897085A (zh) * 2015-06-16 2015-09-09 哈尔滨理工大学 基于整除判断的n频编码结构光解码快速算法
CN104897081A (zh) * 2015-06-16 2015-09-09 哈尔滨理工大学 一种n频编码结构光解码快速算法
US9799117B2 (en) 2013-09-30 2017-10-24 Lenovo (Beijing) Co., Ltd. Method for processing data and apparatus thereof
CN116228830A (zh) * 2023-03-13 2023-06-06 广州图语信息科技有限公司 一种三角网格编码结构光的三维重建方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102620650B (zh) * 2011-01-26 2014-07-09 上海瑞伯德智能系统科技有限公司 视频钢管跟踪系统
CN102620650A (zh) * 2011-01-26 2012-08-01 上海瑞伯德智能系统科技有限公司 视频钢管跟踪系统
US9799117B2 (en) 2013-09-30 2017-10-24 Lenovo (Beijing) Co., Ltd. Method for processing data and apparatus thereof
CN104751414A (zh) * 2013-12-25 2015-07-01 联想(北京)有限公司 一种数据处理方法和电子设备
CN104751414B (zh) * 2013-12-25 2018-02-27 联想(北京)有限公司 一种数据处理方法和电子设备
CN103913130A (zh) * 2014-04-14 2014-07-09 哈尔滨理工大学 一种用于视觉三维测量组合编解码的容错方法
CN103913130B (zh) * 2014-04-14 2017-01-04 哈尔滨理工大学 一种用于视觉三维测量组合编解码的容错方法
CN104457607A (zh) * 2014-12-10 2015-03-25 东北大学 一种面向深度测量的沙漏码结构光的编解码方法
CN104897081A (zh) * 2015-06-16 2015-09-09 哈尔滨理工大学 一种n频编码结构光解码快速算法
CN104897085B (zh) * 2015-06-16 2017-06-13 哈尔滨理工大学 基于整除判断的n频编码结构光解码快速算法
CN104897081B (zh) * 2015-06-16 2017-05-31 哈尔滨理工大学 一种n频编码结构光解码快速算法
CN104897085A (zh) * 2015-06-16 2015-09-09 哈尔滨理工大学 基于整除判断的n频编码结构光解码快速算法
CN116228830A (zh) * 2023-03-13 2023-06-06 广州图语信息科技有限公司 一种三角网格编码结构光的三维重建方法及装置
CN116228830B (zh) * 2023-03-13 2024-01-26 广州图语信息科技有限公司 一种三角网格编码结构光的三维重建方法及装置

Also Published As

Publication number Publication date
CN101281024B (zh) 2012-04-18

Similar Documents

Publication Publication Date Title
CN101281024B (zh) 一种结构光解码方法及解码装置
CN110686599B (zh) 基于彩色格雷码结构光的三维测量方法、系统、装置
CN104197861B (zh) 基于结构光灰度向量的三维数字成像方法
CN101794461B (zh) 一种三维建模方法及系统
CN201218726Y (zh) 基于彩色结构光的文物三维重建装置
CN107490348A (zh) 编码结构光三维测量中的编码光栅投影方法
CN108592823A (zh) 一种基于双目视觉彩色条纹编码的解码方法
CN100449258C (zh) 基于二维彩色光编码的实时三维视觉系统
CN101738172B (zh) 基于绿条纹分割的高采样密度彩色结构光三维测量方法
CN107657646B (zh) 一种半伪随机编码图案及其生成方法和系统
CN105069789A (zh) 基于编码网格模板的结构光动态场景深度获取方法
CN1847782A (zh) 基于光栅投影的二维图像区域定位方法
CN105157614A (zh) 基于二值相移图案的三维测量方法
CN110044927B (zh) 一种空间编码光场对曲面玻璃表面缺陷的检测方法
CN108931209B (zh) 一种高适应性的彩色物体三维重建方法
CN114234849B (zh) 一种调制格雷码信息于周期边缘的三维测量方法
CN105654017B (zh) 二维码传输方法和系统
CN110651166A (zh) 用于收集三维数据的光电装置
Cheng et al. 3D object scanning system by coded structured light
CN101526340B (zh) 基于格雷编码原理的光栅条纹图像的条纹彩色编码方法
CN101324425B (zh) 基于分层的彩色条纹编码方法
CN104217446A (zh) 一种基于边缘检测的彩色结构光解码方法
CN114688994B (zh) 彩色投影模块、条纹解码方法、装置、介质、设备和系统
JP2016080545A (ja) 測定装置、投影パターン
CN114659466A (zh) 一种基于事件相机的边移结构光三维测量方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co.,Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: VIMICRO Corp.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co.,Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418