测量方法和系统与流程

文档序号:21277527发布日期:2020-06-26 23:22阅读:151来源:国知局
测量方法和系统与流程

本发明属于三维测量技术领域,尤其涉及一种测量方法和系统。



背景技术:

随着三维测量技术的发展,基于面结构光的3d测量技术受到广泛的应用。结构光3d测量技术是利用光源将预先编码好的结构光投影至待测物体表面,物体表面的高度变化将造成结构光编码图像发生形变,利用相机拍摄形变的编码图案,并对变形编码图案进行解调,即可获得物体的3d数据。根据结构光编码方式的不同,面结构光技术分为时间编码、空间编码、直接编码。时间编码需要采集多幅图片才能进行稳定的解码,直接编码则容易受到环境光和噪声的影响,而空间编码方式只需要单张图片即可进行解码,能够应用于高速测量场景。

目前常用的空间编码方式是基于m阵列的空间编码方式,m阵列是伪随机阵列在二维上面的扩展。大小为j*i矩阵的m阵列上任意一个特征点的码值,由其特定大小邻域网格的码字共同决定,且在该m阵列中每个特征点码值都是唯一的,因此能够实现单帧图片的快速解码。m阵列本身是一种伪随机数字序列按照特定方式所构成的矩阵,实际视觉应用中,利用图像符号来替代每个数字,从而形成m阵列结构光。而其中图像符号的选择决定着后期解码难易程度和准确性。传统的图像字符有涉及颜色编码的彩色符号编码,通过增加颜色通道能够实现更加复杂的编码,但彩色编码的颜色值受到物体表面光照因素和颜色影响较大,适用场景有限,因此黑白编码使用更加广泛。



技术实现要素:

有鉴于此,本发明实施例提供了一种测量方法和系统,相对于传统符号编码技术,能够实现准确的符号定位和高效的码值恢复。

一方面,提供了一种测量方法,包括:采用标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向所述基元数个不同方向;通过所述目标物体的反射,采集所述标准编码图像的变形编码图像;利用所述伪随机数字矩阵对所述变形编码图像进行解码,以确定所述目标物体的三维特征,其中,通过在所述编码图像中对以具有特定尺寸的窗口进行平移来依次解码。

另一方面,提供了一种测量系统,包括:编解码装置;投射装置,采用由所述编解码装置编码的标准编码图像照射目标物体,所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,所述伪随机数字矩阵的基元数为所述箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向所述基元数个不同方向;采集装置,通过所述目标物体的反射,采集所述标准编码图像的变形编码图像;所述编解码装置,利用所述伪随机数字矩阵对所述变形编码图像进行解码,以确定所述目标物体的三维特征,其中,通过在所述编码图像中对以具有特定尺寸的窗口进行平移来依次解码。

本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了码简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性,此外,本发明实施例利用伪随机数字矩阵对变形编码图像进行解码,进一步提高了解码的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明一个实施例的测量方法的示意性流程图。

图2根据本发明另一实施例的伪随机数字矩阵的局部图。

图3根据本发明另一实施例的不同方向的箭矢符号图。

图4根据本发明另一实施例的标准符号编码图。

图5根据本发明另一实施例的初始化网格的示意图。

图6根据本发明另一实施例的基于初始化网格进行填充的示意图。

图7是根据本发明另一实施例的基于初始化网格进行进一步填充的示意图。

图8根据本发明另一实施例的测量系统的示意性框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1是根据本发明一个实施例的测量方法的示意性流程图。图1的测量方法包括:

步骤110:采用标准编码图像照射目标物体,标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,伪随机数字矩阵的基元数为箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向基元数个不同方向。

所述标准编码图像例如m阵列编码图,利用光源将生成的m阵列编码图投射到作为目标物体的待测物体表面。

步骤120:通过目标物体的反射,采集标准编码图像的变形编码图像。

标准编码图将受到待测物体表面高度编码的调制发生形变,形成变形编码图像利用相机捕获变形的编码图。

步骤130:利用伪随机数字矩阵对变形编码图像进行解码,以确定目标物体的三维特征,其中,通过在所述编码图像中对以具有特定尺寸的窗口进行平移来依次解码。

在本发明的一个实施例中,基元数为n,n个箭矢符号所指向的n个方向中的相邻两个方向之间成2п/n角度,其中,n为大于2的整数。作为一个具体的实施例,如图2所示,对于利用穷举法生成基元数为n,唯一性窗口大小为k1*k2的n*m伪随机m矩阵,此时n*m矩阵中任意一个k1*k2窗口的码值都是唯一的。例如,取基元数为n=4,k1=3,k2=3,所生成矩阵的局部图。

所述标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,例如,采用箭矢符号替代m矩阵中的基元从而得到m阵列结构编码图。对于每个箭矢符号,如附图3所示,其中箭矢符号指向矩形右上角时对应字符0,箭矢符号指向矩形左上角时对应字符1,箭矢符号指向矩形左下角时对应字符2,箭矢符号指向矩形右下角时对应字符3,由此,对于整个标准编码图像而言,具有如图4所示的对应关系,图4根据本发明实施例的标准符号编码图。如图所示,左侧的伪随机数字矩阵经过编码后形成了右侧的标准编码图像。

本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了码简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性,此外,本发明实施例利用伪随机数字矩阵对变形编码图像进行解码,进一步提高了解码的准确性。

本发明实施例基于m阵列结构光编码。此外本发明实施例为基于箭矢符号的新型解码方案,是一种更加高效的符号定位和字符解码方案。

一般地,在现有的时间编码技术中,为了解码稳定性,采用了复杂的编码方式,使得导致解码耗时过长。本发明实施例所采用的结构光空间编码技术相对于时间编码技术而言,通过拍摄单帧图片即可测量物体的三维形貌,从而更适用于动态场景的测量。此外,即使对于空间解码技术,基于简单几何形状的符号编码时,在遇到受到物体高度调制而发生编码图的形变、遮挡的情况下,也容易造成编码符号的误识别。根据本发明实施例的箭矢编码符号为高效的解码方法,在编码符号中心点定位和符号解码过程中,采用更加高效的算法来提高计算速度。另外,在本发明实施例中,利用伪随机数字矩阵对变形编码图像进行解码,以确定目标物体的三维特征,即,在符号中心点邻域网格化的过程中,采用标准m阵列进行校正,构建各个符号正确的邻域网格位置,从而提高了解码速度的同时确保解码准确性。换句话说,在符号网格化的过程中引入标准m阵列进行网格化校正,来获得更加准确的符号邻域网格关系。

在本发明的一个实施例中,所述n为4,利用伪随机数字矩阵对变形编码图像进行解码,包括:通过角点提取,确定变形编码图像中的多个箭矢符号的各自中心点位置;基于各自中心点位置、利用伪随机数字矩阵对变形编码图像进行解码。

在本发明的一个实施例中,通过角点提取,确定变形编码图像中的多个箭矢符号的各自中心点位置,包括:提取多个箭矢符号分别所在的多个轮廓。分别针对多个轮廓确定多个外接矩形,使得多个外接矩形内分别包含多个箭矢符号。确定多个外接矩形中的每个外接矩形内的得分最高的四个角点。针对每个特定矩形,选择四个角点中的目标角点作为该外接矩形内包含的箭矢符号的中心点,其中目标角点的横坐标小于四个角点中的最大横坐标,大于四个角点中的最小横坐标,并且目标角点的纵坐标小于四个角点中的最大纵坐标,大于四个角点中的最小纵坐标。

具体地,在利用伪随机数字矩阵对变形编码图像进行解码之前,可以对采集的图片进行图像增强处理,以便减少环境光和噪声的影响。所述图像增强处理包括但不限于对比度增强、滤波、二值化等方法。

此外,在所述图像增强处理之后,可以进行轮廓提取和筛选,以便得到符合编码符号大小的轮廓。

提取多个箭矢符号分别所在的多个轮廓,用于中心点定位和符号解码。具体地,为了提高每个中心点定位效率,可以先对每个外接矩形进行角点提取,在采用非极大值抑制的情况下,每个外接矩形内提取得分最高的所述四个角点为p1(x1,y1)、p2(x2,y2)、p3(x3,y3)、p4(x4,y4)。也就是说,由于得分最高的四个角点对应着箭矢符号的三个顶点和一个中心点,由箭矢的结构可以看出,无论箭矢符号如何旋转,其中心点的x和y值都不可能是最大值和最小值。

具体地,所述最小横坐标为xmin=min{x1,x2,x3,x4};所述最大横坐标为xmax=max{x1,x2,x3,x4};所述最小纵坐标为ymin=min{y1,y2,y3,y4};最大纵坐标为ymax=max{y1,y2,y3,y4}。

目标角点的横坐标小于四个角点中的最大横坐标,大于四个角点中的最小横坐标,并且目标角点的纵坐标小于四个角点中的最大纵坐标,大于四个角点中的最小纵坐标。例如所述中心点pc(xc,yc)满足:xc≠xmin且xc≠xmax,并且yc≠ymin且yc≠ymax。

选择四个角点中的目标角点作为该外接矩形内包含的箭矢符号的中心点,换句话说,在所述四个角点中寻找满足pc要求的点,即为中心点。

在一个实施例中,若存在两个点都满足该要求,则利用p1(x1,y1)、p2(x2,y2)、p3(x3,y3)、p4(x4,y4)四点快速计算重心位置,取两点距离重心最近的点为中心点pc。因此,利用箭矢符号角点特征明显的优势,能够快速筛选四个得分最高的角点。即,由于中心点的x、y值在四点中不为最大和最小,因此通过比较四个角点x、y的大小,快速地排除了三个边界点,从而定位了中心角点作为所述中心点。

在本发明的一个实施例中,基于各自中心点位置、利用伪随机数字矩阵对变形编码图像进行解码,包括:基于多个箭矢符号的各自中心点位置,确定多个箭矢符号分别对应的多个数字码;基于多个箭矢符号的各自中心点位置,确定初始化网格;基于伪随机数字矩阵、多个数字码以及初始化网格,确定多个箭矢符号之间的邻域网格。

在本发明的一个实施例中,基于多个箭矢符号的各自中心点位置,确定多个箭矢符号分别对应的多个数字码,包括:将所述每个外接矩形提取特定矩形,并将该矩形划分为四个象限;针对每个特定矩形,通过统计每个象限内与轮廓的灰度相同的像素数目,确定该外接矩形内的箭矢符号指示的方向;将与该外接矩形内的箭矢符号指示的方向对应的数字确定为该箭矢符号对应的数字码。

基于多个箭矢符号的各自中心点位置,确定多个箭矢符号分别对应的多个数字码,具体地,识别中心点pc之后,需要对该符号进行解码,恢复该符号所代表的数字码。

在一个具体的实施例中,取以pc为中心的w*w大小的窗口,其中w取w>5的奇数,且w小于对应外接矩形的边长。将外接矩形w*w矩形等分为四个象限,统计四个象限中与符号灰度值相同的前景色像素数目,根据数目最少的象限来识别数字码。

例如,当采用附图3的方式进行符号编码时,当前景色像素最少的象限为第一象限时,对应数字为2;当前景色像素最少的象限为第二象限时,对应数字为3;当前景色像素最少的象限为第三象限时,对应数字为0;当前景色像素最少的象限为第四象限时,对应数字为1。

为了确定多个箭矢符号分别对应的多个数字码。本发明实施例基于箭矢符号的解码算法,基于中心点的w*w邻域窗口,进行不同象限的像素累加计算,从而进行符号解码。考虑到箭矢符号自身的特征,采用最有的w尺寸能够加快解码算法,避免了冗余计算。

根据本发明实施例的基于四个高分角点的中心点定位方法便捷而有效,对比传统的基于外接矩形求重心的中心点定位方法,在计算量上大大减小。此外,传统的对重心点的计算是对形变过程进行了平均,存在精度损失,而本发明提出的中心点定位方法具有更快的定位速度和更好定位精度。不仅如此,本发明所采用的更加合理的中心点邻域w*w窗口进行解码,进一步减小了计算量,并提高了解码效率。

在本发明的一个实施例中,基于多个箭矢符号的各自中心点位置,确定初始化网格,包括:利用欧式关系,基于各自中心点位置以及变形编码图像的原点,确定网格初始点;基于网格初始点和多个箭矢符号的各自中心点位置,确定基准行距和基准列距;基于网格初始点、基准行距和基准列距,确定行网格和列网格,其中行网格和列网格形成初始化网格。

如上所述,每个箭矢符号可以找到其中心点坐标pc(xc,yc)和数字码s;在空间编码技术中,每个点的码值是由其k1*k2邻域唯一确定。基元为n的n*m伪随机矩阵,数字码的种类为n个,符号的个数为n*m。

但是仅知道pc(xc,yc)对应的数字码s是不足够确定该点的唯一性,还需要知道其对应邻域的数字码。因此,在本实施例中,基于多个箭矢符号的各自中心点位置,确定初始化网格,即,为了获得每个中心点pc(xc,yc)的邻域位置,需要对所有中心点进行网格化。

考虑到每个网格中储存着中心点的点坐标值pc(xc,yc)和数字码s,正确的网格化能够使捕获的变形编码图与标准编码同具有相一致的邻域。

利用欧式关系,基于各自中心点位置以及变形编码图像的原点,确定网格初始点。具体地,为了更加合理的确定网格化的间距,先对网格化后的行距和列距进行评估。例如,计算到左上顶点最近的中心点pfrist(xf,yf),假设中心点的个数为n个,即p1(x1,y1)、p2(x2,y2)...pn(xn,yn),则第i点到左上点(原点)的距离则有pfrist(x,y)到原点的距离:dfrist=min{d1,d2…dn}。

基于网格初始点和多个箭矢符号的各自中心点位置,确定基准行距和基准列距。具体地,基准列距也可以表述为网格化列距。在计算是,以pfrist(xf,yf)为起点,将y的值在(y-ty,y+ty)范围内的中心点,ty按为y的容忍范围,按照x值从小到大排序,并求得相邻两点之间的距离,若有n1个点时,则求的n1-1个距离,取这n1-1个距离的中位数,当做列距dc。基准行距也可以被称为网格化行距。在计算是,以pfrist(xf,yf)为起点,将x的值在(x-tx,x+tx)范围内的中心点,,tx按为x的容忍范围,按照y值从小到大排序,并求得相邻两点之间的距离,若有n2个点时,则求的n2-1个距离,取这n2-1个距离的中位数,当做行距dr。

应理解,上文中的中位数也可以采用平均值替代,本发明实施例对此不作限定。

在本发明的一个实施例中,基于网格初始点、基准行距和基准列距,确定行网格和列网格,包括:通过迭代计算确定首列点向量,其中基于网格初始点和当前行距,确定首列点向量的下一点,当前行距由上一行距和基准行距基于第一权值加权得到;通过迭代计算确定首行点向量,其中基于网格初始点和当前列距,确定首行点向量的下一点,当前列距由上一列距和平均列距基于第二权值加权得到;分别基于首列点向量和首行点向量,确定列网格和行网格。

一般地,通过迭代计算确定首列点向量和首行点向量。通过基准行距dr和基准列距dc,先构建网格首行点和网格首列点,再利用首行点来构建列网络,首列点来构建行网络。

在所述迭代计算中,在计算首列中心点向量以pfrist(xf,yf)为起点,以p(xf,yf+dr)为中心在ty*tx窗口内搜索中心点p(x,y),当存在多个中心点时,取离p(xf,yf+dr)最近的点为首列网格第二点,若ty*tx窗口内无中心点,则取p(xf,yf+dr)为第二点,并标记为无效点。

具体地,首列第k个点(k>2)的确定方式为,以第k-1个点为起点,以p(xk-1,yk-1+dr_λ)为中心在ty*tx窗口内搜索中心点p(x,y),当存在多个中心点时,取离p(xk-1,yk-1+dr_λ)最近的点为首列网格第k点,若ty*tx窗口内无中心点,则取p(xk-1,yk-1+dr_λ)为第k点,并标记为无效点。当yk-1+dr_λ-ty>ymax时停止搜索,得到首列中心点组成向量其中ymax中为所有p(x,y)中最大y坐标值。

一般地,当前行距由上一行距和基准行距基于第一权值加权得到。取第k-2点到第k-1点的距离为dpre_k,记dr_λ=λdpre_k+(1-λ)dr,其中λ为第一权值,取值范围[0,1]。

早计算首行中心点向量时,以pfrist(xf,yf)为起点,以p(xf+dc,yf)为中心在ty*tx窗口内搜索中心点p(x,y),当存在多个中心点时,取离p(xf+dc,yf)最近的点为首行网格第二点,若ty*tx窗口内无中心点,则取p(xf+dc,yf)为第二点,并标记为无效点。

首行第k个点(k>2)的确定方式为,以第k-1个点为起点,以p(xk-1+dc_λ,yk-1)为中心在ty*tx窗口内搜索中心点p(x,y),当存在多个中心点时,取离p(xk-1+dc_λ,yk-1)最近的点为首行网格第k点,若ty*tx窗口内无中心点,则取p(xk-1+dc_λ,yk-1)为第k点,并标记为无效点。当xk-1+dc_λ-tx>xmax时停止搜索,得到首行中心点组成向量其中xmax中为所有p(x,y)中最大x坐标值。

一般地,当前列距由上一列距和平均列距基于第二权值加权得到。取第k-2点到第k-1点的距离为dpre_k,记dc_λ=λdpre_k+(1-λ)dc,其中λ为第二权值,取值范围[0,1]。

应理解,第一权值与第二权值可以相等,也可以不相等。在一个优选的实施例中,第一权值等于第二权值,从而减小了计算量。

一般地,分别基于首列点向量确定行网格。具体地,利用首列中心点向量中每一个点为起点,向着x方向以首行点的搜索方式进行逐行搜索,有nr个点时,则有nr个行向量,按顺序可以构成行网格gr。

另外,分别基于首行点向量确定列网格。利用首行中心点向量中每一个点为起点,向着y方向以首列点的搜索方式进行逐列搜索,有nc个点时,则有nc个列向量,按顺序可以构成列网格gc。

在本发明的一个实施例中,基于伪随机数字矩阵、多个数字码以及初始化网格,确定多个箭矢符号之间的邻域网格,包括:确定初始化网格与伪随机数字矩阵之间的具有窗口尺寸(k1+1)*(k2+1)的初始匹配窗口,使得初始化网格在初始匹配窗口中的箭矢符号的每个数字码与伪随机数字矩阵在初始匹配窗口中的相应元素相同,其中k1,k2为正整数;基于初始匹配窗口,在行方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用行网格进行邻域网格的行填充,或者基于初始匹配窗口,在列方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用列网格进行邻域网格的列填充,其中当列网格与行网格中至少一者的数字码与相应元素相同时,利用该数字码填充邻域网格的当前网格,如果全部不相同则向该当前网格填充无效点。

获得行网格和列网格后,创建nr*nc初始化网格g。基于伪随机数字矩阵、多个数字码以及初始化网格,确定多个箭矢符号之间的邻域网格。利用最初编码的m矩阵以及行、列网格进行逐个网格的校验和填充,最后除无效网格之外,使得每个网格内包含中心点坐标和对应数字码。

确定初始化网格与伪随机数字矩阵之间的具有窗口尺寸(k1+1)*(k2+1)的初始匹配窗口。对g网格左上角(k1+1)*(k2+1)窗口进行填充。先利用gr左上的(k1+1)*(k2+1)区域来填充g网格(k1+1)*(k2+1)区域,在该区域可以得到nk个k1*k2子矩阵w1、w2...wnk,矩阵值由对应网格数字码构成,其中nk=k1*k2。在标准m矩阵中找一个(k1+1)*(k2+1)窗口,使得该窗口内的nk个k1*k2子矩阵m1、m2...mnk与w1、w2...wnk窗口的汉明距离为均0。

当列网格与行网格中至少一者的数字码与相应元素相同时,利用该数字码填充邻域网格的当前网格。若m阵列不存在该(k1+1)*(k2+1)区域,则利用gc对g网格(k1+1)*(k2+1)区域进行修正,直到在标准m阵列中找一个符合要求的(k1+1)*(k2+1)区域为止。此时该标准m阵列中(k1+1)*(k2+1)窗口wm0即为g网格起始窗口,如图5所示。

基于初始匹配窗口,在行方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用行网格进行邻域网格的行填充。具体地,为了实现对前k1行的填充,在(k1+1)*(k2+1)的基础上,利用k1*k2窗口在m矩阵和g网格的k1行上同步开始向右边滑动。当滑动到未填充的列时(k2+2开始未填充),有k1个值需利用gr的对应中心点p(x,y)和数字码s进行填充,并利用m矩阵对应位置的数字码进行校正,当存在数字码不符合要求时,利用gc对应位置中心点p(x,y)和数字码s进行替换,再校验。

当列网格与行网格的数字码与相应元素都不相同,则向该当前网格填充无效点。具体地,依然不符合要求,则网格内填充无效点。k1*k2窗口向右滑动,逐列进行填充,直到g网格前k1行每个网格完成中心点p(x,y)和数字码s填充以及无效网格标记。

基于初始匹配窗口,在列方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用列网格进行邻域网格的列填充。具体地,为了实现对前k2列的填充,在(k1+1)*(k2+1)的基础上,利用k1*k2窗口在m矩阵和g网格的前k2列上同步开始向下边滑动。当滑动到未填充的行时(k1+2开始未填充)有k2个值需利用gc的对应中心点p(x,y)和数字码s进行填充,并利用m矩阵对应位置的数字码进行校正,当存在数字码不符合要求时,利用gr对应位置中心点p(x,y)和数字码s进行替换,再校验。

当列网格与行网格的数字码与相应元素都不相同,则向该当前网格填充无效点。具体地,如依然不符合要求,则网格内填充无效点。k1*k2窗口向下滑动,逐行进行填充,直到g网格前k2列每个网格完成中心点p(x,y)和数字码s填充以及无效网格标记。

前k1行和前k2列窗口滑填充示例如附图6所示。

此外,对g网格剩余区域进行填充。填充方式与上述方式类似。

以初始匹配窗口为起点在纵向或横向极性移动。在行方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用行网格进行邻域网格的行填充,或者基于初始匹配窗口,在列方向上移动k1*k2窗口,通过比较数字码与元素是否相同,利用列网格进行邻域网格的列填充。利用k1*k2窗口在m矩阵和g网格的前k1+1行开始向右滑动,当k1*k2窗口的右下角网格坐标为(k1+1,k2+2)时,需要对该值进行填充,此时对比m矩阵相同位置数字码,选择gc和gr中数字码相同的中心点p(x,y)填充到该位置,若无相应点,则填充无效点。填充完毕后,继续向右填充k1+1行剩下点,每次滑动一次窗口填充一个网格。当k1+1行填充完毕之后,由上到下,剩余每一行进行相同的填充操作,直到完成整个g网格的填充,其示例如附图7所示。

基于上述算法,本发明实施例提供的基于标准m矩阵的网格校正算法利用预先编码的m矩阵对解码计算得到的行、列网格,从而进行了多次校验。此外,本发明实施例相比于传统符号中心点邻域定位方法节省了计算量,有利于快速解调,并且确保对大形变的物体测量时找到正确的邻域点。

图8根据本发明另一实施例的测量系统的示意性框图。图8的测量系统包括:

编解码装置810;

投射装置820,采用由编解码装置编码的标准编码图像照射目标物体,标准编码图像由对应于伪随机数字矩阵的箭矢符号集编码,伪随机数字矩阵的基元数为箭矢符号集中的箭矢符号的种类数,多种箭矢符号分别在同一平面上指向基元数个不同方向;

采集装置830,通过目标物体的反射,采集标准编码图像的变形编码图像;

编解码装置810,利用伪随机数字矩阵对变形编码图像进行解码,以确定目标物体的三维特征,其中,通过在所述编码图像中对以具有特定尺寸的窗口进行平移来依次解码。

本发明实施例的方案采用箭矢符号集编码,由于箭矢符号集中的多种箭矢符号,因此实现了码简单且抗噪性强的编码,在本发明实施例提供的解码算法下,实现了准确的符号定位和高效的码值恢复,算法整体具有更高的鲁棒性,此外,本发明实施例利用伪随机数字矩阵对变形编码图像进行解码,进一步提高了解码的准确性。换句话说,本发明在网格化重构过程中,利用算法构建特定大小的网格区域,并引入标准m矩阵对前期生成的行、列网格进行校验,将符合要求的点填充进网格中,并标记无效点,其整个算法进行了多次校验,从而最大程度地确保了符号中心点构建正确的邻域网格。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网格单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1