一种编码图案的生成、识别方法及装置转让专利

申请号 : CN201610906405.0

文献号 : CN106570547B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈刚谭伟姚锦辉肖云龙

申请人 : 网易(杭州)网络有限公司

摘要 :

本发明的实施方式提供了一种编码图案的生成方法和识别方法。其中,编码图案的生成方法,包括:获取用于解析物体表面位置的坐标信息的编码单元;将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值;编码图案的识别方法,包括:采集呈现有编码图案的物体表面的目标图像;确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。本发明的方法降低了编码图案识别的计算量,提高编码图案的识别精度和识别速度。此外,本发明实施方式提供了一种编码图案的生成装置和识别装置。

权利要求 :

1.一种编码图案的生成方法,包括:

获取用于解析物体表面位置的坐标信息的编码单元;

将多个编码单元呈现在所述物体表面,形成编码图案;

其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。

2.根据权利要求1所述的方法,进一步包括:

以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;

则所述将所述编码单元呈现在所述物体表面,包括:

将经过旋转的编码单元呈现在所述物体表面。

3.根据权利要求1所述的方法,进一步包括:

在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;

则所述将所述编码单元呈现在所述物体表面,包括:

将包含所述参考可读标记的编码单元呈现在所述物体表面。

4.根据权利要求3所述的方法,其中,所述参考可读标记的面积值为预设面积值或者预设数量个编码单元所包含所有可读标记的平均面积值。

5.根据权利要求1-4中任一项所述的方法,其中,所述可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。

6.根据权利要求1-4中任一项所述的方法,其中,所述可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。

7.根据权利要求1-4中任一项所述的方法,进一步包括:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。

8.一种编码图案的识别方法,包括:

采集呈现有编码图案的物体表面的目标图像;

确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。

9.根据权利要求8所述的方法,进一步包括:

确定所述编码图案中的参考线;

则确定所述编码图案中的编码单元,包括:

在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。

10.根据权利要求9所述的方法,进一步包括:

判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的参考线与所述边界框线平行;

则确定所述编码图案中的编码单元,包括:

在经过旋转后的目标图像中,确定所述编码图案中的编码单元。

11.根据权利要求9所述的方法,其中,

所述确定所述编码图案中的参考线,包括:在所述编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成所述参考线;或者所述编码单元中包含多个可读标记且所述编码单元未经过旋转处理,则所述确定所述编码图案中的参考线,包括:在所述编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成所述参考线。

12.根据权利要求11所述的方法,其中,所述连接两个第一目标编码单元的参考位置点生成所述参考线,包括:判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准;

在判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。

13.根据权利要求8-12中任一项所述的方法,其中,所述编码单元中包含一个可读标记,则所述确定所述编码图案中的编码单元,包括:将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,则所述确定所述编码图案中的编码单元,包括:在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

14.根据权利要求8-12中任一项所述的方法,其中,所述编码单元包含一个可读标记,则所述根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,包括:根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;

或者

所述编码单元包含多个可读标记,则所述根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,包括:根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。

15.根据权利要求14所述的方法,其中,

所述编码单元中包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的面积值与所述参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。

16.一种编码图案的生成装置,包括:

获取模块,用于获取用于解析物体表面位置的坐标信息的编码单元;

呈现模块,用于将多个编码单元呈现在所述物体表面,形成编码图案;

其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。

17.根据权利要求16所述的装置,进一步包括:

第一处理模块,用于以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;

则所述呈现模块,具体用于:将经过旋转的编码单元呈现在所述物体表面。

18.根据权利要求16所述的装置,进一步包括:

第二处理模块,用于在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;

则所述呈现模块,具体用于:将包含所述参考可读标记的编码单元呈现在所述物体表面。

19.根据权利要求18所述的装置,其中,所述第二处理模块在所述编码单元中添加的参考可读标记的面积值为预设面积值或者预设数量个编码单元所包含所有可读标记的平均面积值。

20.根据权利要求16-19中任一项所述的装置,其中,所述呈现模块呈现的可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。

21.根据权利要求16-19中任一项所述的装置,其中,所述呈现模块呈现的可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。

22.根据权利要求16-19中任一项所述的装置,其中,所述呈现模块,还用于:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。

23.一种编码图案的识别装置,包括:

采集模块,用于采集呈现有编码图案的物体表面的目标图像;

解析模块,用于确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。

24.根据权利要求23所述的装置,进一步包括:

参考线确定模块,用于确定所述编码图案中的参考线;

则所述解析模块确定所述编码图案中的编码单元,具体用于:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。

25.根据权利要求24所述的装置,进一步包括:

图像处理模块,用于判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的参考线与所述边界框线平行;

则所述解析模块确定所述编码图案中的编码单元,具体用于:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。

26.根据权利要求24所述的装置,其中,

所述参考线确定模块,具体用于:在所述编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成所述参考线;或者在所述编码单元中包含两个以上可读标记且所述编码单元未经过旋转处理的情况下,在所述编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成所述参考线。

27.根据权利要求26所述的装置,其中,所述参考线确定模块,包括:判断单元,用于判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准;

确定单元,用于在所述判断单元判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。

28.根据权利要求23-27中任一项所述的装置,其中,所述解析模块确定所述编码图案中的编码单元,具体用于:所述编码单元中包含一个可读标记,则将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

29.根据权利要求23-27中任一项所述的装置,其中,所述解析模块根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,具体用于:所述编码单元包含一个可读标记,则根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;或者所述编码单元包含多个可读标记,根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。

30.根据权利要求29所述的装置,其中,所述解析模块根据可读标记的面积值确定可读标记标识的数值,具体用于:所述编码单元中包含参考可读标记,则针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的面积值与所述参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。

31.一种编码图案的生成装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行权利要求1-7中任一项所述方法的步骤。

32.一种编码图案的识别装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行权利要求8-15中任一项所述方法的步骤。

33.一种计算机可读存储介质,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1-7中任一项所述方法的步骤。

34.一种计算机可读存储介质,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求8-15中任一项所述方法的步骤。

说明书 :

一种编码图案的生成、识别方法及装置

技术领域

[0001] 本发明的实施方式涉及图像编码技术领域,更具体地,本发明的实施方式涉及一种编码图案的生成、识别方法及装置。

背景技术

[0002] 本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003] 现有技术中,可以将包含信息(例如:数值信息、网址信息、坐标信息、文本信息以及加密信息等)的编码图案打印于物体表面,在需要这些信息时,可以通过采集物体表面的编码图案的图像,对编码图案的图像进行解析,就可以解析出编码图案中包含的信息。常见的编码图案可以是二维码、条形码、还可以是其他编码图案。具体实现时,可以将信息以特定算法进行编码,得到数字编码,再将数字编码以特定规则转换成编码图案,也可以直接以特定规则将信息转换成编码图案。
[0004] 现有技术中,有一种打印于物体表面的编码图案,该编码图案用于表示物体上坐标位置的坐标信息,编码图案中包含的可读标记很小(例如:可读标记符号小于0.5mm),人眼对于编码图案中所包含的可读标记的视觉识别并不明显。目前,编码图案主要有以下两种实现方案,具体来说:
[0005] 方案一、在编码图案中,根据可读标记与标称位置的相对位置来进行编码。具体来说,如图1所示,该方案的原理是:根据可读标记102相对于标称位置101(图1中的水平网格线和垂直网格线的交点)的相对位置来代表不同的数值信息,多条水平网格线和垂直网格线构成网格,识别可读标记时首先识别出网格,然后识别可读标记102相对于标称位置101的四个不同的方位来得到不同可读标记102代表的数值信息。例如:a、b、c、d中可读标记102代表的数值信息分别为‘1’,‘2’,‘3’,‘4’,图1中虚线在物体表面上不打印。
[0006] 方案一在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码,在解析编码图案代表的数值信息时,需要计算出水平网格线和垂直网格线,进而计算确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高,对处理器、摄像头以及硬件设备的性能均有较高的要求,对算法的要求也较高。
[0007] 方案二、根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码。具体来说,如图2所示,以编码图案中包含两个可读标记为例,在获取编码图案代表的数值信息时,首先获取两个可读标记202连线的中点得到标称位置201,进而连接各个标称位置201得到网格线,然后根据两个可读标记202的连线的不同方向获取编码图案代表的不同数值信息。例如:a、b、c、d中两个可读标记202连线的四个不同的方向代表的数值信息分别为二进制数值00b,01b,10b,11b。
[0008] 方案二在物体表面上进行位置编码时,根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码,在解析编码图案代表的数值信息时,需要计算两个可读标记间连线的中点,进而根据确定出的多个中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。
[0009] 因此,目前亟需一种编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。

发明内容

[0010] 出于现有技术中,在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码的方案,在解析编码图案代表的数值信息时,需要先确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高;而根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码的方案,在解析编码图案代表的数值信息时,需要先根据确定出的多对可读标记的中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。
[0011] 为此,非常需要一种改进的编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。
[0012] 在本上下文中,本发明的实施方式期望提供一种编码图案的生成、识别方法及装置。
[0013] 在本发明实施方式的第一方面中,提供了一种编码图案的生成方法,包括:
[0014] 获取用于解析物体表面位置的坐标信息的编码单元;
[0015] 将多个编码单元呈现在所述物体表面,形成编码图案;
[0016] 其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。
[0017] 在一种可能的实施方式中,本发明实施例提供的上述方法中,进一步包括:以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;则所述将所述编码单元呈现在所述物体表面,包括:将经过旋转的编码单元呈现在所述物体表面。
[0018] 在一种可能的实施方式中,本发明实施例提供的上述方法中,进一步包括:在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;则所述将所述编码单元呈现在所述物体表面,包括:将包含所述参考可读标记的编码单元呈现在所述物体表面。
[0019] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述参考可读标记的面积值为预设面积值或者预设数量个编码单元所包含所有可读标记的平均面积值。
[0020] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。
[0021] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
[0022] 在一种可能的实施方式中,本发明实施例提供的上述方法中,进一步包括:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。
[0023] 在本发明实施方式的第二方面中,提供了一种编码图案的识别方法,包括:
[0024] 采集呈现有编码图案的物体表面的目标图像;
[0025] 确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。
[0026] 在一种可能的实施方式中,本发明实施例提供的上述方法中,进一步包括:确定所述编码图案中的参考线;则确定所述编码图案中的编码单元,包括:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。
[0027] 在一种可能的实施方式中,本发明实施例提供的上述方法中,进一步包括:判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的参考线与所述边界框线平行;则确定所述编码图案中的编码单元,包括:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。
[0028] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述确定所述编码图案中的参考线,包括:在所述编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成所述参考线;或者所述编码单元中包含多个可读标记且所述编码单元未经过旋转处理,则所述确定所述编码图案中的参考线,包括:在所述编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成所述参考线。
[0029] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述连接两个第一目标编码单元的参考位置点生成所述参考线,包括:判断确定出的两个第一目标编码单元之间的距离是否符合所述第一预设标准;在判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。
[0030] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述编码单元中包含一个可读标记,则所述确定所述编码图案中的编码单元,包括:将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,则所述确定所述编码图案中的编码单元,包括:在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。
[0031] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述编码单元包含一个可读标记,则所述根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,包括:根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;或者所述编码单元包含多个可读标记,则所述根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,包括:根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。
[0032] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述编码单元中包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的面积值与所述参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。
[0033] 在本发明实施方式的第三方面中,提供了一种编码图案的生成装置,包括:
[0034] 获取模块,用于获取用于解析物体表面位置的坐标信息的编码单元;
[0035] 呈现模块,用于将多个编码单元呈现在所述物体表面,形成编码图案;
[0036] 其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。
[0037] 在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:第一处理模块,用于以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;则所述呈现模块,具体用于:将经过旋转的编码单元呈现在所述物体表面。
[0038] 在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:第二处理模块,用于在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;则所述呈现模块,具体用于:将包含所述参考可读标记的编码单元呈现在所述物体表面。
[0039] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述第二处理模块在所述编码单元中添加的参考可读标记的面积值为预设面积值或者预设数量个编码单元所包含所有可读标记的平均面积值。
[0040] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述呈现模块呈现的可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。
[0041] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述呈现模块呈现的可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
[0042] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述呈现模块,还用于:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。
[0043] 在本发明实施方式的第四方面中,提供了一种编码图案的识别装置,包括:
[0044] 采集模块,用于采集呈现有编码图案的物体表面的目标图像;
[0045] 解析模块,用于确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。
[0046] 在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:参考线确定模块,用于确定所述编码图案中的参考线;则所述解析模块确定所述编码图案中的编码单元,具体用于:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。
[0047] 在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:图像处理模块,用于判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的参考线与所述边界框线平行;则所述解析模块确定所述编码图案中的编码单元,具体用于:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。
[0048] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述参考线确定模块,具体用于:在所述编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成所述参考线;或者在所述编码单元中包含两个以上可读标记且所述编码单元未经过旋转处理的情况下,在所述编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成所述参考线。
[0049] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述参考线确定模块,包括:判断单元,用于判断确定出的两个第一目标编码单元之间的距离是否符合所述第一预设标准;确定单元,用于在所述判断单元判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。
[0050] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述解析模块确定所述编码图案中的编码单元,具体用于:所述编码单元中包含一个可读标记,则将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。
[0051] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述解析模块根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值,具体用于:所述编码单元包含一个可读标记,则根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;或者所述编码单元包含多个可读标记,根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。
[0052] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述解析模块根据可读标记的面积值确定可读标记标识的数值,具体用于:所述编码单元中包含参考可读标记,则针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的面积值与所述参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。
[0053] 在本发明实施方式的第五方面中,提供了另一种编码图案的生成装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:
[0054] 获取用于解析物体表面位置的坐标信息的编码单元;
[0055] 将多个编码单元呈现在所述物体表面,形成编码图案;
[0056] 其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。
[0057] 在本发明实施方式的第六方面中,提供了另一种编码图案的识别装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:
[0058] 采集呈现有编码图案的物体表面的目标图像;
[0059] 确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。
[0060] 在本发明实施方式的第七方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:
[0061] 获取用于解析物体表面位置的坐标信息的编码单元;
[0062] 将多个编码单元呈现在所述物体表面,形成编码图案;
[0063] 其中,所述编码单元中包括一个或多个可读标记,且所述可读标记的面积值用于解析相应的数值。
[0064] 在本发明实施方式的第八方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:
[0065] 采集呈现有编码图案的物体表面的目标图像;
[0066] 确定所述编码图案中的编码单元,并根据所述编码单元中包含的一个或多个可读标记的面积值确定所述编码单元标识的编码值。
[0067] 根据本发明实施方式的编码图案的生成、识别方法及装置,在物体表面上进行位置编码时,利用可读标记的面积值进行编码,在解析编码图案代表的数值信息时,通过识别编码单元中包含的一个或多个可读标记的面积值,根据编码单元中包含的一个或多个可读标记的面积值解析可读标记标识的数值,进而根据可读标记标识的数值解析出编码单元标识的编码值,只需识别可读标记的面积值,无需计算网格位置,也无需计算可读标记之间的角度,识别简单,识别精度高,计算量小,运行速度快。

附图说明

[0068] 通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0069] 图1示意性地示出了现有技术中一种编码图案的示意图;
[0070] 图2示意性地示出了现有技术中另一种编码图案的示意图;
[0071] 图3示意性地示出了根据本发明实施方式的应用场景示意图;
[0072] 图4示意性地示出了根据本发明实施例的编码图案的生成方法的流程示意图;
[0073] 图5示意性地示出了根据本发明实施例的一种编码图案的示意图;
[0074] 图6示意性地示出了根据本发明实施例的另一种编码图案的示意图;
[0075] 图7示意性地示出了根据本发明实施例的又一种编码图案的示意图;
[0076] 图8示意性地示出了根据本发明实施例的再一种编码图案的示意图;
[0077] 图9示意性地示出了根据本发明实施例的再一种编码图案的示意图;
[0078] 图10示意性地示出了根据本发明实施例的编码图案的识别方法的流程示意图;
[0079] 图11示意性地示出了根据本发明实施例的一种编码图案的生成装置的结构示意图;
[0080] 图12示意性地示出了根据本发明实施例的一种编码图案的识别装置的结构示意图;
[0081] 图13示意性地示出了根据本发明实施例的另一种编码图案的生成装置的结构示意图;
[0082] 图14示意性地示出了根据本发明实施例的另一种编码图案的识别装置的结构示意图;
[0083] 图15示意性地示出了根据本发明实施例的用于编码图案的生成方法的程序产品示意图;
[0084] 图16示意性地示出了根据本发明实施例的用于编码图案的识别方法的程序产品示意图。
[0085] 在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

[0086] 下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0087] 本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0088] 根据本发明的实施方式,提出了一种编码图案的生成、识别方法及装置。
[0089] 在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0090] 下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
[0091] 发明概述
[0092] 本发明人发现,现有技术中,在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码的方案,在解析编码图案代表的数值信息时,需要先确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高;而根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码的方案,在解析编码图案代表的数值信息时,需要先根据确定出的多对可读标记的中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。现有技术中缺乏一种改进的编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。
[0093] 为此,本发明提供了一种编码图案的生成、识别方法及装置,编码图案的生成方法可以包括:获取用于解析物体表面位置的坐标信息的编码单元;将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值;编码图案的识别方法可以包括:采集呈现有编码图案的物体表面的目标图像;确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。
[0094] 在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
[0095] 应用场景总览
[0096] 首先参考图3,如图3所示,为本发明实施例提供的编码图案的生成方法和编码图案的识别方法的应用场景示意图,包括:用户30、纸张301、智能书写设备302以及用户终端303,其中,纸张301表面打印有编码图案,编码图案由多个编码单元组成,每个编码单元中包括一个或多个可读标记,每个可读标记的面积值用于解析相应的数值。
[0097] 用户30使用智能书写设备302在纸张301上书写时,智能书写设备302采集纸张301表面包含编码图案的目标图像,在目标图像中确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值,进而根据识别出的多个编码单元标识的编码值确定当前书写位置的坐标信息,并且可以将包含了多个书写位置的坐标信息的书写轨迹信息同步传输或异步传输到用户终端303中,用户终端303可以根据书写轨迹信息,回放书写轨迹。
[0098] 其中,智能书写设备302和用户终端303可通过蓝牙、短距离通信、蜂窝移动网、无线局域网或者其他通信方式进行通信。智能书写设备302包括但不限于:智能笔,用户终端303可以为手机、平板电脑、PC等。
[0099] 示例性方法
[0100] 下面结合图3的应用场景,参考图4-图10来描述根据本发明示例性实施方式的编码图案的生成方法和识别方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
[0101] 图4为本发明实施例提供的一种编码图案的生成方法的流程示意图,主要包括编码图案的生成流程,如图4所示,本发明实施例提供的一种编码图案的生成方法,包括如下步骤:
[0102] 步骤401,获取用于解析物体表面位置的坐标信息的编码单元。
[0103] 本步骤中,用于解析物体表面位置的坐标信息的编码单元,可以根据物体表面位置的坐标信息确定,也可以直接获取由其它设备确定出的用于解析物体表面位置的坐标信息的编码单元。具体实施时,根据物体表面位置的坐标信息确定用于解析物体表面位置的坐标信息的编码单元,可以采用如下方式,例如:将坐标信息以一定的算法进行编码得到数字编码,再将数字编码以一定的规则转换为编码单元,或者直接将坐标信息以一定的规则转换为编码单元,本发明实施例对此不做限定。其中一个坐标信息可通过一个或多个编码单元进行解析。
[0104] 步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值。
[0105] 本步骤中,将多个编码单元呈现在物体表面,可以是将多个编码单元打印或印刷在物体表面,也可以将多个编码单元镂刻在物体表面,此处不做具体限定。编码单元中可以包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值。其中,可读标记可以是任意形状,且可以是任意大小,可读标记的形状包括但不限于:点、线段、圆形、矩形、三角形以及多边形。较为优选地,为了便于呈现在物体表面,可读标记采用正方形。
[0106] 本发明实施例利用编码单元包括的一个或多个可读标记的面积值解析编码单元标识的编码值,从而可以不借助于确定出的辅助线或者相对于辅助线的方向信息等特征即可解析编码单元标识的编码值,降低了解析的难度,而且无需确定辅助线以及编码单元相对于辅助线的方向信息,降低了编码单元解析时的计算量。
[0107] 具体实施时,在将多个编码单元呈现在物体表面时,多个编码单元的方向可以一致,该多个编码单元的方向一致的情况下,其方向可以是和物体表面边沿,例如:与纸张的边沿平行或者垂直的方向,当然也可以是任意方向。
[0108] 作为较为具体的实施例,编码单元中包括一个可读标记,可读标记为正方形,且使用2个不同面积值标识2个二进制数值0和1,较大面积值的可读标记标识二进制数值1,较小面积值的可读标记标识二进制数值0,如图5所示,编码单元501和编码单元502中均包含一个可读标记,且编码单元501与编码单元502中可读标记的面积值不同,解析出的数值也不相同,编码单元501中可读标记解析出的数值为二进制数值0,而编码单元502中可读标记解析出的数值为二进制数值1。
[0109] 作为另一较为具体的实施例,编码单元中包括两个可读标记,可读标记为正方形,且使用2个不同面积值标识2个二进制数值0和1,较大面积值的可读标记标识二进制数值1,较小面积值的可读标记标识二进制数值0,如图6所示,编码单元601、编码单元602、编码单元603和编码单元604中均包括两个可读标记,可读标记的面积值不同,解析出的数值也不同,编码单元601中两个可读标记解析出的数值分别为二进制数值0和二进制数值0,编码单元602中两个可读标记解析出的数值分别为二进制数值0和二进制数值1,编码单元603中两个可读标记解析出的数值分别为二进制数值1和二进制数值0,编码单元604中两个可读标记解析出的数值分别为二进制数值1和二进制数值1。因此,编码单元601~604对应的编码值分别为二进制编码值00,01,10和11。在一个实施例中,通过多个编码单元的的组合编码值解析印刷在物体表面位置的坐标信息。
[0110] 为了方便说明本发明实施例中编码单元以及编码单元中可读标记的呈现方式,本发明实施例引入参考位置点的概念,每个编码单元对应设定参考位置点,在编码单元中包括一个可读标记时,参考位置点可以为编码单元中该一个可读标记上的预设位置点,例如:可以为该可读标记的几何中心,也可以是该可读标记的其它预设位置点,例如:端点,当然,参考位置点还可以不位于该可读标记之上,例如:参考位置点位于可读标记的延长线上;在编码单元中包括多个可读标记时,参考位置点可以是位于多个可读标记中某个特定可读标记之上的预设位置点,例如:可以为该特定可读标记的几何中心,也可以是该特定可读标记的其它预设位置点,例如:端点,当然,参考位置点也可以不位于编码单元所包括多个可读标记中的任何一个可读标记之上,例如:编码单元中包括两个可读标记时,参考位置点位于两个可读标记几何中心连接所成线段的中点。优选的,参考位置点可以是对应编码单元的几何中心,容易理解的是,在参考位置点是对应编码单元的几何中心的情况下,当编码单元包括多个可读标记时,该参考位置点可能位于多个可读标记中的某一个可读标记上,也可能不位于编码单元所包括多个可读标记的任何一个可读标记上,这取决于该多个可读标记的尺寸关系以及排列方式。
[0111] 需要说明的是,本发明实施例呈现编码单元时,同一行或同一列编码单元的参考位置点可以处于同一直线上,较为优选地,同一行或同一列编码单元的参考位置点的连线与纸张边沿平行或者垂直。具体来说,以图6为例,本发明实施例图6中示出的编码单元,其参考位置点(也即图6中水平虚线和垂直虚线的交点)均在一条直线上,也即均在图6中示出的水平虚线上,在本发明其它实施例中,同一行或同一列编码单元的参考位置点均在一条直线上时,该直线也可以不与图中示出的水平虚线重合,但较为优选地,与图6中示出的水平虚线平行或者垂直。
[0112] 另外,在编码单元的参考位置点为编码单元的几何中心的情况下,容易理解的是,在编码单元中多个可读标记的大小或者长度不同时,编码单元中不同大小或者不同长度的可读标记距离所述参考位置点的距离可能不同。
[0113] 此外,在编码单元包括多个可读标记的情况下,在一个编码单元内部,多个可读标记可以以预设位置排列,优选的,多个可读标记可以排列在同一行或者同一列上,优选的,在编码单元未经过旋转的情况下,多个可读标记的排列方向可以与相邻编码单元的参考位置点的连线方向相同。
[0114] 当然,本领域技术人员应当理解的是,编码单元中还可以包括任意个可读标记,而且可读标记可以使用n个不同的面积值标识k个数值,其中,n和k均为大于1的自然数。通过可读标记的不同组合代表不同的编码单元,此处不再一一列举。另外,图5和图6的编码单元中示出的水平虚线和垂直虚线仅为了示意性说明可读标记的位置,在具体实施时,水平虚线和垂直虚线不需要呈现在物体表面。
[0115] 值得说明的是,优选地,在编码单元中包含多个可读标记时,每个编码单元中相邻可读标记间的距离相等,相邻编码单元之间的距离相等,并且相邻编码单元之间的距离大于编码单元中可读标记之间的距离。例如:当编码单元中包含两个可读标记时,两个可读标记之间的距离是相邻两个编码单元之间距离的1/3。在本发明的实施方式中,较为优选地,相邻编码单元之间的距离可以是相邻编码单元几何中心之间的距离,当然,也可以是相邻编码单元中相同位置处两点之间的距离,当然也可以是相邻编码单元对应的参考位置点之间的距离;同样的,相邻可读标记间的距离可以是相邻可读标记几何中心之间的距离,也可以是相邻可读标记相同位置处两点之间的距离,这些实施方式都在本发明的保护范围之内。
[0116] 从上述描述可知,可通过两个或多个可读标记的不同组合来定义编码单元的编码值,即通过可读标记组合来标识编码单元的编码值。
[0117] 优选地,为了增加编码单元在物体表面的随机性、使得物体表面的颜色更加均匀,减小编码图案对用户视觉上的影响,在步骤402中将多个编码单元呈现在物体表面之前,还可以以编码单元的参考位置点为旋转中心对编码单元进行旋转操作,则将编码单元呈现在物体表面,包括:将经过旋转的编码单元呈现在物体表面。
[0118] 具体实施时,编码单元中包括多个可读标记时,将多个可读标记作为一个整体,进行旋转操作。具体来说,可以对所有编码单元进行旋转操作,也可以对部分编码单元进行旋转操作,而且旋转角度可以是任意角度。其中,对编码单元进行旋转的情况下,呈现在物体表面的多个编码单元的方向可以不完全一致。
[0119] 作为较为具体的实施例,如图7所示,图7中示出的编码单元701在图6中示出的编码单元601的基础上未经过旋转处理,图7中示出的编码单元702是对图6中示出的编码单元602逆时针旋转45°(度)生成的,图7中的编码单元703是对编码单元603逆时针旋转90°生成的,图7中的编码单元704是对编码单元604逆时针旋转135°生成的,对编码单元进行旋转操作之后,将编码单元呈现在物体表面。
[0120] 以一个编码单元中的全部可读标记为对象独立地进行上述任意角度的旋转操作后,由于依赖编码单元中可读标记的灰度值解析编码单元标识的编码值,因此,不会影响编码单元的认定或编码单元的编码值,也不影响位置坐标信息的解析结果。而且通过对编码单元进行任意角度的旋转,可以使得物体表面(如纸面)的印刷颜色分布比较均匀。由于是以编码单元的参考位置点为旋转中心进行旋转的,该编码单元的参考位置点位置不变,不会影响多个编码单元的参考位置点之间连线的方向。
[0121] 优选地,为了提高可读标记面积值读取的准确性、降低读取面积值的误判率、减小可读标记之间面积值的差异性、减小编码图案对用户视觉上的影响,在步骤402中将多个编码单元呈现在物体表面之前,还可以在编码单元中添加参考可读标记,参考可读标记用于确定编码单元所包含的可读标记标识的数值;则将编码单元呈现在物体表面,包括:将包含参考可读标记的编码单元呈现在物体表面。
[0122] 具体实施时,参考可读标记的面积值可以为预设面积值,例如:预设面积值为0.01mm2(平方毫米),也可以是预设数量个编码单元所包含所有可读标记的平均面积值,或者是预设数量个编码单元中可读标记面积值的最小值。例如:6个编码单元中所包含所有可读标记的平均面积值。另外,参考可读标记的面积值的单位除了可以是面积单位例如mm2,还可以是像素的个数,即面积值也可以由相应的像素的个数来表征,例如如果参考可读标记是由5*4个像素构成的矩形,则该参考可读标记的面积值为20个像素,此外,参考可读标记的面积值的单位还可以是像素的个数的平方,例如如果参考可读标记是由5*4个像素构成的矩形,则该参考可读标记的面积值为5个像素*4个像素。一样的逻辑,可读标记的面积值的单位除了可以是面积单位,还可以是像素的个数或者像素的个数的平方。
[0123] 值得说明的是,具体实施时,可以预先配置编码单元中是否包含参考可读标记,以区分包含参考可读标记的编码单元与未包含参考可读标记的编码单元。
[0124] 作为较为具体的实施例,如图8所示,图8中示出的编码单元801是在图6中示出的编码单元601中添加参考可读标记80生成的,图8中示出的编码单元802是在图6中示出的编码单元602中添加参考可读标记80生成的,图8中示出的编码单元803是在图6中示出的编码单元603中添加参考可读标记80生成的,图8中示出的编码单元804是在图6中示出的编码单元604中添加参考可读标记80生成的,在每个编码单元中添加参考可读标记80之后,将编码单元呈现在物体表面。其中,参考可读标记80的面积值为编码单元中两个可读标记面积值的平均值。
[0125] 在又一个实施例中,在物体表面上不呈现参考可读标记。通过获取多个可读标记的面积值,并进一步计算多个可读标记的平均面积值来确定可读标记标识的数值,例如:大于平均面积值的可读标记标识的数值为1,小于平均面积值的可读标记标识的数值为0。在一个实施例中,通过获得可读标记的面积值直接确定可读标记标识的数值。
[0126] 需要说明的是,具体实施时,在步骤402中将多个编码单元呈现在物体表面之前,以编码单元的参考位置点为旋转中心对编码单元进行旋转操作的步骤和在编码单元中添加参考可读标记的步骤,可以同时执行,也可以执行其中一项。
[0127] 作为较为具体的实施例,如图9所示,图9中示出的编码单元901是在图6中示出的编码单元601中添加参考可读标记生成的,图9中示出的编码单元902是在图6中示出的编码单元602中添加参考可读标记,并且逆时针旋转45°生成的,图9中示出的编码单元903是在图6中示出的编码单元603中添加参考可读标记,并且逆时针旋转90°生成的,图9中示出的编码单元904是在图6中示出的编码单元604中添加参考可读标记,并且逆时针旋转135°生成的,在对编码单元进行处理之后,将编码单元呈现在物体表面。
[0128] 优选地,为了降低物体表面打印编码图案前后的差异度,还可以将编码图案的灰度值设定为与物体表面的灰度值较为接近,但需要保证可读标记的灰度值与物体表面的灰度值有一定的差值,以保证可读标记能够被识别。
[0129] 具体实施时,可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值,其中,第一预设灰度阈值可以自由设定,第二预设灰度阈值可以根据识别可读标记设备的识别精度设定,例如:第一预设灰度阈值为50,第二预设灰度阈值为20。作为较为具体的实施例,物体表面的灰度值为150,第一预设灰度阈值为50,第二预设灰度阈值为20,则可读标记的灰度值可以在区间(100,130)或者(170,200)中选择。
[0130] 以上结合图4~图9对本发明实施例提供的编码图案的生成方法进行了说明,接下来结合图10对本发明实施例提供的编码图案的识别方法进行了说明。
[0131] 图10为本发明实施例提供的一种编码图案的识别方法的流程示意图,主要包括编码图案的识别流程,执行主体可以为应用场景总览中的智能书写设备302和/或用户终端303,如图10所示,本发明实施例提供的一种编码图案的识别方法,包括如下步骤:
[0132] 步骤1001,采集呈现有编码图案的物体表面的目标图像;
[0133] 本步骤中,采集呈现有编码图案的物体表面的目标图像,可以由安装在智能书写设备302中的图像采集设备采集,也可以由与智能书写设备302共同使用的其它设备采集,具体实施时,可以通过拍摄物体表面的编码图案来采集目标图像。
[0134] 步骤1002,确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。
[0135] 本步骤中,在采集到的目标图像中,确定编码图案中的编码单元,根据编码单元中包含的可读标记的面积值确定可读标记标识的数值,然后根据编码单元中包含的一个或多个可读标记的标识的数值,确定编码单元标识的编码值。
[0136] 本发明实施例,在物体表面上进行位置编码时,利用可读标记的面积值进行编码,在解析编码图案代表的数值信息时,通过识别编码单元中包含的一个或多个可读标记的面积值,根据编码单元中包含的一个或多个可读标记的面积值解析可读标记标识的数值,进而根据可读标记标识的数值解析出编码单元标识的编码值,只需识别可读标记的面积值,无需计算网格位置,也无需计算可读标记之间的角度,识别简单,识别精度高,计算量小,运行速度快。
[0137] 优选地,为了更加方便快速的确定编码图案中的编码单元,可以先确定编码图案中的参考线,参考线标识编码图案中编码单元的排列方向,例如:图5-图9中的水平虚线可以称为水平参考线,图5-图9中的垂直虚线可以称为垂直参考线,确定编码图案中的参考线之后,在编码图案中确定编码单元时,即可在编码图案中确定出一个或多个编码单元之后,沿参考线的方向确定下一个编码单元。
[0138] 当然,编码图案中的参考线除了可以用于方便快速的确定编码单元之外,还可以用于在拍摄的目标图像中编码图案倾斜的情况下,用于对目标图像进行旋转处理,以提高编码单元识别的准确率和效率,具体来说:
[0139] 判断编码图案中的参考线与目标图像的边界框线是否平行,若判定结果为否,则旋转目标图像,使编码图案中的参考线与边界框线平行;则确定编码图案中的编码单元,包括:在经过旋转后的目标图像中,确定编码图案中的编码单元。其中,在判定编码图案中的参考线与目标图像的边界框线不平行时,旋转目标图像,是指在目标图像边界框线部分保持不动的情景下,对目标图像中的图像内容部分进行旋转,以使编码图案中的参考线与边界框线平行,经过旋转的图像内容部分若落在目标图像边界框线之外,则可以舍弃落在目标图像边界框线之外的这部分图像内容。
[0140] 若编码图案中的参考线与目标图像的边界框线平行,则不需要对目标图像进行旋转处理,若编码图案中的参考线与目标图像的边界框线不平行,则旋转目标图像,使编码图案中的参考线与边界框线平行。其中,编码图案中的参考线与边界框线平行的好处在于,在后续识别其他行或者其它列上的编码单元时,可以在当前计算出的参考线的水平或者竖直坐标值的基础上加一个偏移量,即得到其他行或者其它列的参考线的大致位置,由此可以快速识别目标图像中的其他行或者其它列的编码单元,由此节约了运算量。其中,判断编码图案中参考线与目标图像的边界框线是否平行,可以采用现有技术中的方法,此处不再赘述。
[0141] 具体实施时,确定编码图案中的参考线,可以采用如下方式:
[0142] 在编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成参考线。
[0143] 具体实施时,为了提高确定的参考线的准确性,在连接两个第一目标编码单元的参考位置点生成参考线之前,还可以判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准,若判定结果为是,则连接两个第一目标编码单元的参考位置点生成参考线,若判定结果为否,则重新确定两个第一目标编码单元,继续判断重新确定的两个第一目标编码单元之间的距离是否符合第一预设标准,直至确定出的两个第一目标编码单元之间的距离符合第一预设标准,连接两个第一目标编码单元的参考位置点生成参考线。
[0144] 第一预设标准可以是预定义的两个编码单元之间距离的n(n为自然数)倍,也即判断两个第一目标编码单元之间的距离是否等于预定义的两个编码单元之间距离的n(n为自然数)倍,当然,具体实施时,可以有一定的误差范围。其中,预定义的两个编码单元之间的距离,可以是将编码单元呈现在物体表面时,设置的一个绝对长度值,也可以是根据拍摄到的图像计算得到的长度值,例如:在确定目标图像中包含的所有编码单元之后,检索所有编码单元两两之间的距离,并将所有编码单元两两之间的距离最小值作为预定义的两个编码单元之间的距离。
[0145] 较为优选地,在计算两个第一目标编码单元之间的距离时,计算两个第一目标编码单元的参考位置点之间的直线距离,当然,在本发明其它实施例中,也可以计算两个第一目标编码单元中相同位置处两点之间的直线距离,只要能确定两个第一目标编码单元之间的距离即可;需要说明的是,在部分旋转编码单元经过旋转的情况下,或者不同的编码单元旋转的角度不一致的情况下,在旋转中心为参考位置点时,可以通过参考位置点之间的距离来表示编码单元之间的距离。
[0146] 作为较为特殊的实施例,若编码单元中包含一个可读标记,一个可读标记即为一个编码单元,则确定编码图案中的参考线,包括:在编码图案中选择两个可读标记,判断所选择的两个可读标记之间的距离是否符合第一预设标准,若判定结果为是,则连接所选择的两个可读标记的参考位置点生成参考线。
[0147] 作为另一较为特殊的实施例,若编码单元中包含多个(包含两个及两个以上)可读标记,且编码单元未经过旋转处理,由于编码图案未经过旋转处理,同一行或者同一列编码单元中的可读标记均沿同一方向(也即参考线的方向)排列,因此,确定编码图案中的参考线,包括:在编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成参考线,该两个可读标记的预设位置点,可以分别位于两个可读标记的相同位置处;较为优选地,连接第二目标编码单元中两个可读标记的几何中心生成参考线。
[0148] 其中,在连接第二目标编码单元中的两个可读标记的预设位置点生成参考线时,两个可读标记可以是编码单元所包括多个可读标记中的任意两个,此处不做具体限定。而且,应当理解的是,本发明实施例中所提到的第一目标编码单元和第二目标编码单元,均是在编码图案中确定出的编码单元,而第一目标编码单元和第二目标编码单元的名称,仅用于区分两种实施例中确定出的编码单元。
[0149] 具体实施时,如图6所示的情况,编码单元中包含两个可读标记,且编码单元未经过旋转处理,则确定编码图案中的参考线时,仅需要确定一个编码单元,然后连接确定出的编码单元中两个可读标记的预设位置点生成参考线,较为优选地,为了使得编码单元的几何中心在参考线上,在生成参考线时,可以连接两个可读标记的几何中心生成参考线。
[0150] 当然,编码单元中包含多个可读标记时,只要编码单元未经过旋转处理,都可以在编码图案中确定出一个编码单元,然后连接确定出的编码单元中任意两个可读标记的预设位置点生成参考线。
[0151] 具体实施时,无论是解析编码单元标识的编码值,还是确定编码图案中的参考线,均需要先在编码图案中确定出一个或多个编码单元,而在编码图案中确定编码单元,包括以下几种情况:
[0152] 情况一、编码单元中包含一个可读标记,如图5所示,则确定编码图案中的编码单元,包括:将该一个可读标记确定为一个编码单元。
[0153] 情况二、编码单元中包含N个可读标记,如图6-图9所示,则确定编码图案中的编码单元,包括:在编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。
[0154] 在选择N个可读标记之后,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,具体实施时,预设组合可以自由设定,而第二预设标准可以根据预设组合的不同而不同,例如:预设组合可以是所有N个可读标记的两两组合,第二预设标准可以为等于预定义的两个可读标记之间距离的n(n为不大于N-1的自然数)倍,判断所选择的N个可读标记中,每两个可读标记之间的距离是否均等于预定义的两个可读标记之间距离的n(n为不大于N-1的自然数)倍(具体实施时可以有一定的误差范围),若是,则将所选择的N个可读标记确定为一个编码单元;再例如:预设组合为N个可读标记两两组合中的部分组合,预设组合为距离最大的两个可读标记的组合,以及相邻两个可读标记的组合,而第二预设标准可以为相邻两个可读标记之间的距离等于预定义的两个可读标记之间距离,且距离最大的两个可读标记之间的距离等于预定义的两个可读标记之间距离的N-1倍。其中,预定义的两个可读标记之间的距离,可以是将编码单元呈现在物体表面时,设置的一个绝对长度值,也可以检索目标图像中所有可读标记两两之间的距离,并将检索目标图像中所有可读标记两两之间的最小值作为预定义的两个可读标记之间的距离。
[0155] 其中,较为优选地,两个可读标记之间的距离为两个可读标记之间的直线距离,可以是两个可读标记几何中心之间的直线距离,也可以是两个可读标记相同位置处两点之间的直线距离。
[0156] 作为较为具体的实施例,编码单元中包含两个可读标记,如图6和图7所示,在确定编码图案中的编码单元时,在编码图案中任选两个可读标记,优选地,选择相邻的两个可读标记,然后判断所选择的两个可读标记之间的直线距离是否等于预定义的两个可读标记之间的距离,若判定结果为是,则将所选择的两个可读标记确定为一个编码单元,若判定结果为否,则所选择的两个可读标记不是一个编码单元中的可读标记。
[0157] 作为另一较为具体的实施例,编码单元中包含三个可读标记,如图8和图9所示,在确定编码图案中的编码单元时,在编码图案中任选三个可读标记,优选地,选择相邻的三个可读标记,然后在所选择的三个可读标记中,判断相邻两个可读标记之间的直线距离是否等于预定义的两个可读标记之间的距离,并判断距离最大的两个可读标记之间的直线距离是否等于预定义的两个可读标记之间距离的2倍,若判定结果均为是,则将所选择的三个可读标记确定为一个编码单元,若判定结果为否,则所选择的三个可读标记不是一个编码单元中的可读标记。
[0158] 步骤1002中,根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值,可以分为以下情况,具体来说:
[0159] 情况一、编码单元包含一个可读标记,则根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值,包括:根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为编码单元标识的编码值。
[0160] 情况二、编码单元包含多个可读标记,则根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值,包括:根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定编码单元标识的编码值。
[0161] 具体实施时,编码单元中包含多个可读标记时,编码单元中每个可读标记均可以解析出相应的数值,则在确定编码单元标识的编码值时,还需要根据编码单元中可读标记的排列顺序或者编码单元中可读标记的组合方式。
[0162] 作为较为具体的实施例,如图6所示,每个编码单元中均包含两个可读标记,假设较大面积值可读标记标识的数值为二进制数值1,较小面积值可读标记标识的数值为二进制数值0,确定编码单元602标识的编码值时,首先确定编码单元602中可读标记标识的数值分别为二进制数值0和二进制数值1,由于编码单元602中较小面积的可读标记排列在较大面积的可读标记之前,因此,编码单元602标识的编码值为二进制数值01,也即编码单元602标识的编码值为1,以此类推,编码单元601标识的编码值为0,编码单元603标识的编码值为1,编码单元604标识的编码值为3。
[0163] 需要说明的是,在根据可读标记的面积值确定可读标记标识的数值时,需要将可读标记的面积值与预设面积阈值进行比较,进而确定可读标记标识的数值,其中,若编码单元中包含参考可读标记,则预设面积阈值为参考可读标记的面积值,若编码单元中未包含参考可读标记,则预设面积阈值可以为呈现编码单元时,设定的一个面积值,例如:预设面积阈值为0.01mm2,预设面积阈值也可以是预设数量个编码单元中可读标记面积值的平均值。
[0164] 具体实施时,编码单元中包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中除参考可读标记之外的每个可读标记,将可读标记的面积值与参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值。例如:可读标记的面积值大于参考可读标记的面积值,可读标记标识的数值为1;可读标记的面积值小于参考可读标记的面积值,可读标记标识的数值为0。
[0165] 编码单元中未包含参考可读标记,则根据可读标记的面积值确定可读标记标识的数值,包括:针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。例如:可读标记的面积值大于预设面积阈值,可读标记标识的数值为1;可读标记的面积值小于预设面积阈值,可读标记标识的数值为0。
[0166] 具体实施步骤1002时,可以先确定一个或两个编码单元,根据确定出的一个或两个编码单元,确定编码图案中的参考线,然后以确定出的一个或两个编码单元为基础,沿参考线方向识别其它编码单元,同时解析每一个编码单元标识的编码值。在解析编码图案中编码单元标识的编码值时,可以以逐行或者逐列的方式进行解析,在编码图案中确定出一行或者一列的参考线之后,后续识别其它行或者其它列上的编码单元时,可以在首先计算出的参考线的水平或竖直坐标值的基础上加上一个偏移量,得到其他行或者其它列的参考线的大致位置,由此,可以快速识别编码图案中的其它行或者其它列的编码单元。其中,在确定每行或者每列的参考线后,解析该行或者该列中编码单元标识的编码值时,首先识别出该行或者该列的第一个编码单元,解析编码单元标识的编码值,然后沿参考线方向识别下一个编码单元,并解析下一个编码单元标识的编码值,以此类推,直至解析出该行或者该列的最后一个编码单元标识的编码值为止。
[0167] 示例性设备
[0168] 在介绍了本发明示例性实施方式的方法之后,接下来,参考图11~图12描述本发明示例性实施方式的编码图案的生成装置和识别装置。
[0169] 图11为本发明实施例提供的一种编码图案的生成装置的结构示意图,如图11所示,可以包括如下模块:
[0170] 获取模块1101,用于获取用于解析物体表面位置的坐标信息的编码单元;
[0171] 呈现模块1102,用于将多个编码单元呈现在物体表面,形成编码图案;
[0172] 其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值。
[0173] 在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:
[0174] 第一处理模块1103,用于以编码单元的参考位置点为旋转中心对编码单元进行旋转操作;
[0175] 则呈现模块1102,具体用于:将经过旋转的编码单元呈现在物体表面。
[0176] 在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:
[0177] 第二处理模块1104,用于在编码单元中添加参考可读标记,参考可读标记用于确定编码单元所包含的可读标记标识的数值;
[0178] 则呈现模块1102,具体用于:将包含参考可读标记的编码单元呈现在物体表面。
[0179] 优选地,第二处理模块1104在编码单元中添加的参考可读标记的面积值为预设面积值或者预设数量个编码单元所包含所有可读标记的平均面积值。
[0180] 优选地,呈现模块1102呈现的可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。
[0181] 优选地,呈现模块1102呈现的可读标记的灰度值与物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
[0182] 优选地,呈现模块1102,还用于:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。
[0183] 图12为本发明实施例提供的一种编码图案的识别装置的结构示意图,如图12所示,可以包括如下模块:
[0184] 采集模块1201,用于采集呈现有编码图案的物体表面的目标图像;
[0185] 解析模块1202,用于确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。
[0186] 在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:
[0187] 参考线确定模块1203,用于确定编码图案中的参考线;
[0188] 则解析模块1202确定编码图案中的编码单元,具体用于:
[0189] 在编码图案中确定出一个或多个编码单元之后,沿参考线的方向确定下一个编码单元。
[0190] 在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:
[0191] 图像处理模块1204,用于判断编码图案中的参考线与目标图像的边界框线是否平行,若判定结果为否,则旋转目标图像,使编码图案中的参考线与边界框线平行;
[0192] 则解析模块1202确定编码图案中的编码单元,具体用于:
[0193] 在经过旋转后的目标图像中,确定编码图案中的编码单元。
[0194] 优选地,参考线确定模块1203,具体用于:在编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成参考线;或者
[0195] 在编码单元中包含多个可读标记且编码单元未经过旋转处理的情况下,在编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成参考线。
[0196] 优选地,参考线确定模块1203,包括:
[0197] 判断单元12031,用于判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准;
[0198] 确定单元12032,用于在判断单元12031判定两个第一目标编码单元之间的距离符合第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成参考线。
[0199] 优选地,解析模块1202确定编码图案中的编码单元,具体用于:
[0200] 编码单元中包含一个可读标记,则将该一个可读标记确定为一个编码单元;或者[0201] 编码单元中包含N个可读标记,在编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。
[0202] 优选地,解析模块1202根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值,具体用于:
[0203] 编码单元包含一个可读标记,则根据该一个可读标记的面积值确定可读标记标识的数值,并将该一个可读标记标识的数值作为编码单元标识的编码值;或者[0204] 编码单元包含多个可读标记,根据每个可读标记的面积值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定编码单元标识的编码值。
[0205] 优选地,解析模块1202根据可读标记的面积值确定可读标记标识的数值,具体用于:
[0206] 编码单元中包含参考可读标记,则针对编码单元中除参考可读标记之外的每个可读标记,将可读标记的面积值与参考可读标记的面积值进行比较,根据比较结果确定可读标记标识的数值;或者
[0207] 编码单元中未包含参考可读标记,则针对编码单元中的每个可读标记,将可读标记的面积值与预设面积阈值进行比较,根据比较结果确定可读标记标识的数值。
[0208] 示例性设备
[0209] 在介绍了本发明示例性实施方式的编码图案的生成装置和编码图案的识别装置之后,接下来,介绍根据本发明的另一示例性实施方式的编码图案的生成装置和编码图案的识别装置。
[0210] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0211] 在一些可能的实施方式中,根据本发明的编码图案的生成装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤。例如,所述处理单元可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值。
[0212] 下面参照图13来描述根据本发明的这种实施方式的编码图案的生成装置130。图13显示的编码图案的生成装置130仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0213] 如图13所示,编码图案的生成装置130以通用计算设备的形式表现。编码图案的生成装置130的组件可以包括但不限于:上述至少一个处理单元1301、上述至少一个存储单元1302、连接不同系统组件(包括处理单元1301和存储单元1302)的总线1303。
[0214] 总线1303表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0215] 存储单元1302可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)13021和/或高速缓存存储器13022,还可以进一步包括只读存储器(ROM)13023。
[0216] 存储单元1302还可以包括具有一组(至少一个)程序模块13024的程序/实用工具13025,这样的程序模块13024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0217] 编码图案的生成装置130也可以与一个或多个外部设备1304(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的生成装置130交互的设备通信,和/或与使得该编码图案的生成装置130能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1305进行。并且,编码图案的生成装置130还可以通过网络适配器1306与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图13所示,网络适配器1306通过总线1303与编码图案的生成装置130的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的生成装置130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0218] 接下来,介绍根据本发明的又一示例性实施方式的编码图案的识别装置。
[0219] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0220] 在一些可能的实施方式中,根据本发明的编码图案的识别装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤。例如,所述处理单元可以执行如图10中所示的步骤1001,采集呈现有编码图案的物体表面的目标图像;步骤1002,确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。
[0221] 下面参照图14来描述根据本发明的这种实施方式的编码图案的识别装置140。图14显示的编码图案的识别装置140仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0222] 如图14所示,编码图案的识别装置140以通用计算设备的形式表现。编码图案的识别装置140的组件可以包括但不限于:上述至少一个处理单元1401、上述至少一个存储单元1402、连接不同系统组件(包括处理单元1401和存储单元1402)的总线1403。
[0223] 总线1403表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0224] 存储单元1402可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)14021和/或高速缓存存储器14022,还可以进一步包括只读存储器(ROM)14023。
[0225] 存储单元1402还可以包括具有一组(至少一个)程序模块14024的程序/实用工具14025,这样的程序模块14024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0226] 编码图案的识别装置140也可以与一个或多个外部设备1404(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的识别装置140交互的设备通信,和/或与使得该编码图案的识别装置140能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1405进行。并且,编码图案的识别装置140还可以通过网络适配器1406与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图14所示,网络适配器1406通过总线1403与编码图案的识别装置140的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的识别装置140使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0227] 示例性程序产品
[0228] 在一些可能的实施方式中,本发明提供的编码图案的生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤,例如,所述计算机设备可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且可读标记的面积值用于解析相应的数值。
[0229] 上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0230] 如图15所示,描述了根据本发明的实施方式的用于编码图案生成的程序产品150,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0231] 可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0232] 可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0233] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0234] 在另一些可能的实施方式中,本发明提供的编码图案的识别方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤,例如,所述计算机设备可以执行如图10中所示的步骤1001,采集呈现有编码图案的物体表面的目标图像;步骤1002,确定编码图案中的编码单元,并根据编码单元中包含的一个或多个可读标记的面积值确定编码单元标识的编码值。
[0235] 上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0236] 如图16所示,描述了根据本发明的实施方式的用于编码图案识别的程序产品160,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0237] 可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0238] 可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0239] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0240] 应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
[0241] 此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0242] 虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。