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

文档序号:12124329阅读:167来源:国知局
一种编码图案的生成、识别方法及装置与流程

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



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

现有技术中,可以将包含信息(例如:数值信息、网址信息、坐标信息、文本信息以及加密信息等)的编码图案打印于物体表面,在需要这些信息时,可以通过采集物体表面的编码图案的图像,对编码图案的图像进行解析,就可以解析出编码图案中包含的信息。常见的编码图案可以是二维码、条形码、还可以是其他编码图案。具体实现时,可以将信息以特定算法进行编码,得到数字编码,再将数字编码以特定规则转换成编码图案,也可以直接以特定规则将信息转换成编码图案。

现有技术中,有一种打印于物体表面的编码图案,该编码图案用于表示物体上坐标位置的坐标信息,编码图案中包含的可读标记很小(例如:可读标记符号小于0.5mm),人眼对于编码图案中所包含的可读标记的视觉识别并不明显。目前,编码图案主要有以下两种实现方案,具体来说:

方案一、在编码图案中,根据可读标记与标称位置的相对位置来进行编码。具体来说,如图1所示,该方案的原理是:根据可读标记102相对于标称位置101(图1中的水平网格线和垂直网格线的交点)的相对位置来代表不同的数值信息,多条水平网格线和垂直网格线构成网格,识别可读标记时首先识别出网格,然后识别可读标记102相对于标称位置101的四个不同的方位来得到不同可读标记102代表的数值信息。例如:a、b、c、d中可读标记102代表的数值信息分别为‘1’,‘2’,‘3’,‘4’,图1中虚线在物体表面上不打印。

方案一在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码,在解析编码图案代表的数值信息时,需要计算出水平网格线和垂直网格线,进而计算确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高,对处理器、摄像头以及硬件设备的性能均有较高的要求,对算法的要求也较高。

方案二、根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码。具体来说,如图2所示,以编码图案中包含两个可读标记为例,在获取编码图案代表的数值信息时,首先获取两个可读标记202连线的中点得到标称位置201,进而连接各个标称位置201得到网格线,然后根据两个可读标记202的连线的不同方向获取编码图案代表的不同数值信息。例如:a、b、c、d中两个可读标202连线的四个不同的方向代表的数值信息分别为二进制数值00b,01b,10b,11b。

方案二在物体表面上进行位置编码时,根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码,在解析编码图案代表的数值信息时,需要计算两个可读标记间连线的中点,进而根据确定出的多个中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。

因此,目前亟需一种编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。



技术实现要素:

出于现有技术中,在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码的方案,在解析编码图案代表的数值信息时,需要先确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高;而根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码的方案,在解析编码图案代表的数值信息时,需要先根据确定出的多对可读标记的中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。

为此,非常需要一种改进的编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。

在本上下文中,本发明的实施方式期望提供一种编码图案的生成、识别方法及装置。

在本发明实施方式的第一方面中,提供了一种编码图案的生成方法,包括:

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

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

其中,所述编码单元中包括一个或多个可读标记,且所述编码单元自身的特征用于解析编码单元标识的编码值。

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;则所述将所述编码单元呈现在所述物体表面,包括:将经过旋转的编码单元呈现在所述物体表面。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;则所述将所述编码单元呈现在所述物体表面,包括:将包含所述参考可读标记的编码单元呈现在所述物体表面。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记的几何特征包括可读标记的长度值的条件下,所述参考可读标记的长度值为预设长度值或者预设数量个编码单元所包含所有可读标记的平均长度值。

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:将所述可读标记划分为一个或多个微小图形;所述将多个编码单元呈现在所述物体表面,包括:利用微小图形呈现至少一个编码单元中的一个或多个可读标记。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。

在本发明实施方式的第二方面中,提供了一种编码图案的识别方法,包括:

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

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

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:确定所述编码图案中的参考线;则确定所述编码图案中的编码单元,包括:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。

在一种可能的实施方式中,本发明实施例提供的方法中,进一步包括:判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的所述参考线与所述边界框线平行;则确定所述编码图案中的编码单元,包括:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。

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

在一种可能的实施方式中,本发明实施例提供的方法中,所述连接两个第一目标编码单元的参考位置点生成所述参考线,包括:判断确定出的两个第一目标编码单元之间的距离是否符合所述第一预设标准;在判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码图案中的可读标记利用微小图形呈现,则在确定所述编码图案中的编码单元之前,进一步包括:确定所述编码图案中的可读标记;则所述确定所述编码图案中的编码单元,包括:利用确定出的可读标记确定所述编码图案中的编码单元。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码图案中的可读标记利用微小图形呈现时,确定所述编码图案中的可读标记,包括:将预设范围内的一个微小图形作为一个可读标记,或者连接预设范围内的多个微小图像构成可读标记。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码单元中包含一个可读标记,则所述确定所述编码图案中的编码单元,包括:将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,则所述确定所述编码图案中的编码单元,包括:在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

在一种可能的实施方式中,本发明实施例提供的方法中,所述可读标记的几何特征包括可读标记的长度值的条件下,所述编码单元包含一个可读标记,则所述根据所述编码单元自身的特征确定所述编码单元标识的编码值,包括:根据该一个可读标记的长度值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;或者所述编码单元包含多个可读标记,则所述根据所述编码单元自身的特征确定所述编码单元标识的编码值,包括:根据每个可读标记的长度值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。

在一种可能的实施方式中,本发明实施例提供的方法中,所述编码单元中包含参考可读标记,则根据可读标记的长度值确定可读标记标识的数值,包括:针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的长度值与所述参考可读标记的长度值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则根据可读标记的长度值确定可读标记标识的数值,包括:针对编码单元中的每个可读标记,将可读标记的长度值与预设长度阈值进行比较,根据比较结果确定可读标记标识的数值。

在本发明实施方式的第三方面中,提供了一种编码图案的生成装置,包括:

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

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

其中,所述编码单元中包括一个或多个可读标记,且所述编码单元自身的特征用于解析编码单元标识的编码值。

在一种可能的实施方式中,本发明实施例提供的装置中,进一步包括:第一处理模块,用于以编码单元的参考位置点为旋转中心对编码单元进行旋转操作;则所述呈现模块,具体用于:将经过旋转的编码单元呈现在所述物体表面。

在一种可能的实施方式中,本发明实施例提供的装置中,所述编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在一种可能的实施方式中,本发明实施例提供的装置中,所述可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

在一种可能的实施方式中,本发明实施例提供的装置中,进一步包括:第二处理模块,用于在所述编码单元中添加参考可读标记,所述参考可读标记用于确定编码单元所包含的可读标记标识的数值;则所述呈现模块,具体用于:将包含所述参考可读标记的编码单元呈现在所述物体表面。

在一种可能的实施方式中,本发明实施例提供的装置中,在所述可读标记的几何特征包括可读标记的长度值的条件下,所述第二处理模块在所述编码单元中添加的参考可读标记的长度值为预设长度值或者预设数量个编码单元所包含所有可读标记的平均长度值。

在一种可能的实施方式中,本发明实施例提供的装置中,进一步包括:划分模块,用于将所述可读标记划分为一个或多个微小图形;所述呈现模块,具体用于:利用微小图形呈现至少一个编码单元中的一个或多个可读标记。

在一种可能的实施方式中,本发明实施例提供的装置中,所述呈现模块呈现的可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。

在一种可能的实施方式中,本发明实施例提供的装置中,所述呈现模块呈现的可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。

在一种可能的实施方式中,本发明实施例提供的装置中,所述呈现模块,还用于:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。

在本发明实施方式的第四方面中,提供了一种编码图案的识别装置,包括:

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

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

在一种可能的实施方式中,本发明实施例提供的装置中,进一步包括:参考线确定模块,用于确定所述编码图案中的参考线;则所述解析模块确定所述编码图案中的编码单元,具体用于:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。

在一种可能的实施方式中,本发明实施例提供的装置中,进一步包括:图像处理模块,用于判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的所述参考线与所述边界框线平行;则所述解析模块确定所述编码图案中的编码单元,具体用于:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。

在一种可能的实施方式中,本发明实施例提供的装置中,所述参考线确定模块,具体用于:在所述编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成所述参考线;或者在所述编码单元中包含多个可读标记且所述编码单元未经过旋转处理的情况下,在所述编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成所述参考线。

在一种可能的实施方式中,本发明实施例提供的装置中,所述参考线确定模块,包括:判断单元,用于判断确定出的两个第一目标编码单元之间的距离是否符合所述第一预设标准;确定单元,用于在所述判断单元判定两个第一目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个第一目标编码单元的参考位置点生成所述参考线。

在一种可能的实施方式中,本发明实施例提供的装置中,所述编码图案中的可读标记利用微小图形呈现,则所述解析模块在确定所述编码图案中的编码单元之前,还用于:确定所述编码图案中的可读标记;则所述解析模块确定所述编码图案中的编码单元,具体用于:利用确定出的可读标记确定所述编码图案中的编码单元。

在一种可能的实施方式中,本发明实施例提供的装置中,在编码图案中的可读标记利用微小图形呈现的条件下,所述解析模块确定所述编码图案中的可读标记,具体用于:将预设范围内的一个微小图形作为一个可读标记,或者连接预设范围内的多个微小图像构成可读标记。

在一种可能的实施方式中,本发明实施例提供的装置中,所述解析模块确定所述编码图案中的编码单元,具体用于:所述编码单元中包含一个可读标记,则将该一个可读标记确定为一个编码单元;或者所述编码单元中包含N个可读标记,在所述编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

在一种可能的实施方式中,本发明实施例提供的装置中,所述编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在一种可能的实施方式中,本发明实施例提供的装置中,所述可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

在一种可能的实施方式中,本发明实施例提供的装置中,在所述可读标记的几何特征包括可读标记的长度值的条件下,所述解析模块根据所述编码单元自身的特征确定所述编码单元标识的编码值,具体用于:所述编码单元包含一个可读标记,则根据该一个可读标记的长度值确定可读标记标识的数值,并将该一个可读标记标识的数值作为所述编码单元标识的编码值;或者所述编码单元包含多个可读标记,根据每个可读标记的长度值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定所述编码单元标识的编码值。

在一种可能的实施方式中,本发明实施例提供的装置中,所述解析模块根据可读标记的长度值确定可读标记标识的数值,具体用于:所述编码单元中包含参考可读标记,则针对编码单元中除所述参考可读标记之外的每个可读标记,将可读标记的长度值与所述参考可读标记的长度值进行比较,根据比较结果确定可读标记标识的数值;或者所述编码单元中未包含参考可读标记,则针对编码单元中的每个可读标记,将可读标记的长度值与预设长度阈值进行比较,根据比较结果确定可读标记标识的数值。

在本发明实施方式的第五方面中,提供了另一种编码图案的生成装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:

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

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

其中,所述编码单元中包括一个或多个可读标记,且所述编码单元自身的特征用于解析编码单元标识的编码值。

在本发明实施方式的第六方面中,提供了另一种编码图案的识别装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:

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

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

在本发明实施方式的第七方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:

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

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

其中,所述编码单元中包括一个或多个可读标记,且所述编码单元自身的特征用于解析编码单元标识的编码值。

在本发明实施方式的第八方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:

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

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

根据本发明实施方式的编码图案的生成、识别方法及装置,在物体表面上进行位置编码时,利用编码单元自身的特征进行编码,在解析编码图案代表的数值信息时,通过识别编码单元自身的特征,根据编码单元自身的特征解析编码单元标识的编码值,只需识别编码单元自身的特征,即可解析出编码单元标识的编码值,无需计算网格位置,也无需计算可读标记之间的角度,识别简单,识别精度高,计算量小,运行速度快。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了现有技术中一种编码图案的示意图;

图2示意性地示出了现有技术中另一种编码图案的示意图;

图3示意性地示出了根据本发明实施方式的应用场景示意图;

图4示意性地示出了根据本发明实施例的编码图案的生成方法的流程示意图;

图5示意性地示出了根据本发明实施例的一种编码图案的示意图;

图6示意性地示出了根据本发明实施例的另一种编码图案的示意图;

图7示意性地示出了根据本发明实施例的又一种编码图案的示意图;

图8示意性地示出了根据本发明实施例的再一种编码图案的示意图;

图9示意性地示出了根据本发明实施例的再一种编码图案的示意图;

图10示意性地示出了根据本发明实施例的一种利用微小图形呈现可读标记的编码图案的示意图;

图11示意性地示出了根据本发明实施例的另一利用微小图形呈现可读标记的编码图案的示意图;

图12示意性地示出了根据本发明实施例的编码图案的识别方法的流程示意图;

图13示意性地示出了根据本发明实施例的一种编码图案的生成装置的结构示意图;

图14示意性地示出了根据本发明实施例的一种编码图案的识别装置的结构示意图;

图15示意性地示出了根据本发明实施例的另一种编码图案的生成装置的结构示意图;

图16示意性地示出了根据本发明实施例的另一种编码图案的识别装置的结构示意图;

图17示意性地示出了根据本发明实施例的用于编码图案的生成方法的程序产品示意图;

图18示意性地示出了根据本发明实施例的用于编码图案的识别方法的程序产品示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种编码图案的生成、识别方法及装置。

在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,现有技术中,在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码的方案,在解析编码图案代表的数值信息时,需要先确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高;而根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码的方案,在解析编码图案代表的数值信息时,需要先根据确定出的多对可读标记的中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。现有技术中缺乏一种改进的编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。

为此,本发明提供了一种编码图案的生成、识别方法及装置,编码图案的生成方法可以包括:获取用于解析物体表面位置的坐标信息的编码单元;将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值;编码图案的识别方法可以包括:采集呈现有编码图案的物体表面的目标图像;确定编码图案中的编码单元,并根据编码单元自身的特征确定编码单元标识的编码值,其中,所述编码单元中包含一个或多个可读标记。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图3,如图3所示,为本发明实施例提供的编码图案的生成方法和编码图案的识别方法的应用场景示意图,包括:用户30、纸张301、智能书写设备302以及用户终端303,其中,纸张301表面打印有编码图案,编码图案由多个编码单元组成,每个编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。

用户30使用智能书写设备302在纸张301上书写时,智能书写设备302采集纸张301表面包含编码图案的目标图像,在目标图像中确定编码图案中的编码单元,并根据编码单元自身的特征确定编码单元标识的编码值,进而根据识别出的多个编码单元标识的编码值确定当前书写位置的坐标信息,并且可以将包含了多个书写位置的坐标信息的书写轨迹信息同步传输或异步传输到用户终端303中,用户终端303可以根据书写轨迹信息,回放书写轨迹。

其中,智能书写设备302和用户终端303可通过蓝牙、短距离通信、蜂窝移动网、无线局域网或者其他通信方式进行通信。智能书写设备302包括但不限于:智能笔,用户终端303可以为手机、平板电脑、PC等。

示例性方法

下面结合图3的应用场景,参考图4-图12来描述根据本发明示例性实施方式的编码图案的生成方法和识别方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

图4为本发明实施例提供的一种编码图案的生成方法的流程示意图,主要包括编码图案的生成流程,如图4所示,本发明实施例提供的一种编码图案的生成方法,包括如下步骤:

步骤401,获取用于解析物体表面位置的坐标信息的编码单元。

本步骤中,用于解析物体表面位置的坐标信息的编码单元,可以根据物体表面位置的坐标信息确定,也可以直接获取由其它设备确定出的用于解析物体表面位置的坐标信息的编码单元。具体实施时,根据物体表面位置的坐标信息确定用于解析物体表面位置的坐标信息的编码单元,可以采用如下方式,例如:将坐标信息以一定的算法进行编码得到数字编码,再将数字编码以一定的规则转换为编码单元,或者直接将坐标信息以一定的规则转换为编码单元,本发明实施例对此不做限定。其中一个坐标信息可通过一个或多个编码单元进行解析。

步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。

本步骤中,将多个编码单元呈现在物体表面,可以是将多个编码单元打印或印刷在物体表面,也可以将多个编码单元镂刻在物体表面,此处不做具体限定。编码单元中可以包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。其中,编码单元自身的特征,是指编码单元本身所具备的特征,不包括编码单元与其它参照物相对比所具有的特征。具体来说,编码单元自身的特征,包括:编码单元中可读标记的几何特征、可读标记的灰度值以及可读标记的面积值等,而可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。本发明实施例中编码单元自身的特征以编码单元中可读标记的长度值为例进行说明。当然,本领域技术人员应当理解的是,在本发明其它实施例中,编码单元自身的特征为编码单元中可读标记的灰度值、面积值、宽度值或者长宽比时,原理与本发明实施例类似。

本发明实施例利用编码单元自身的特征解析编码单元标识的编码值,从而可以不借助于确定出的辅助线或者相对于辅助线的方向信息等特征即可解析编码单元标识的编码值,降低了解析的难度,而且无需确定辅助线以及编码单元相对于辅助线的方向信息,降低了编码单元解析时的计算量。

其中,可读标记可以是任意形状,可读标记的形状包括但不限于:点、线段、圆形、矩形、椭圆形、三角形以及多边形。较为优选地,为了便于利用可读标记的长度值识别可读标记标识的数值,可读标记的形状采用线段。而且可读标记的形状采用线段时,可读标记可只有一段或几段微小的线段,使得呈现在物体表面的编码图案颜色更浅,从而降低物体表面打印编码图案前后的差异度,减小编码图案对用户视觉上的影响。

具体实施时,在将多个编码单元呈现在物体表面时,多个编码单元的方向可以一致,该多个编码单元的方向一致的情况下,其方向可以是和物体表面边沿,例如:与纸张的边沿平行或者垂直的方向,当然也可以是任意方向。

作为较为具体的实施例,编码单元中包括一个可读标记,可读标记为线段,且使用2个不同长度值标识2个二进制数值0和1,较长线段的可读标记标识二进制数值1,较短线段的可读标记标识二进制数值0,如图5所示,编码单元501和编码单元502中均包含一个可读标记,且编码单元501与编码单元502中可读标记的长度值不同,解析出的数值也不相同,编码单元501中可读标记解析出的数值为二进制数值0,而编码单元502中可读标记解析出的数值为二进制数值1。

作为另一较为具体的实施例,编码单元中包括两个可读标记,可读标记为线段,且使用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。在一个实施例中,通过多个编码单元的的组合编码值解析印刷在物体表面位置的坐标信息。

为了方便说明本发明实施例中编码单元以及编码单元中可读标记的呈现方式,本发明实施例引入参考位置点的概念,每个编码单元对应设定参考位置点,在编码单元中包括一个可读标记时,参考位置点可以为编码单元中该一个可读标记上的预设位置点,例如:可以为该可读标记的几何中心,也可以是该可读标记的其它预设位置点,例如:端点,当然,参考位置点还可以不位于该可读标记之上,例如:参考位置点位于可读标记的延长线上;在编码单元中包括多个可读标记时,参考位置点可以是位于多个可读标记中某个特定可读标记之上的预设位置点,例如:可以为该特定可读标记的几何中心,也可以是该特定可读标记的其它预设位置点,例如:端点,当然,参考位置点也可以不位于编码单元所包括多个可读标记中的任何一个可读标记之上,例如:编码单元中包括两个可读标记时,参考位置点位于两个可读标记几何中心连接所成线段的中点。优选的,参考位置点可以是对应编码单元的几何中心,容易理解的是,在参考位置点是对应编码单元的几何中心的情况下,当编码单元包括多个可读标记时,该参考位置点可能位于多个可读标记中的某一个可读标记上,也可能不位于编码单元所包括多个可读标记的任何一个可读标记上,这取决于该多个可读标记的尺寸关系以及排列方式。

需要说明的是,本发明实施例呈现编码单元时,同一行或同一列编码单元的参考位置点可以处于同一直线上,较为优选地,同一行或同一列编码单元的参考位置点的连线与纸张边沿平行或者垂直。具体来说,以图6为例,本发明实施例图6中示出的编码单元,其参考位置点(也即图6中水平虚线和垂直虚线的交点)均在一条直线上,也即均在图6中示出的水平虚线上,在本发明其它实施例中,同一行或同一列编码单元的参考位置点均在一条直线上时,该直线也可以不与图中示出的水平虚线重合,但较为优选地,与图6中示出的水平虚线平行或者垂直。

另外,在编码单元的参考位置点为编码单元的几何中心的情况下,容易理解的是,在编码单元中多个可读标记的大小或者长度不同时,编码单元中不同大小或者不同长度的可读标记距离所述参考位置点的距离可能不同。

此外,在编码单元包括多个可读标记的情况下,在一个编码单元内部,多个可读标记可以以预设位置排列,优选的,多个可读标记可以排列在同一行或者同一列上,优选的,在编码单元未经过旋转的情况下,多个可读标记的排列方向可以与相邻编码单元的参考位置点的连线方向相同。

当然,本领域技术人员应当理解的是,编码单元中还可以包括任意个可读标记,而且可读标记可以使用n个不同的长度值标识k个数值,其中,n和k均为大于1的自然数。通过可读标记的不同组合代表不同的编码单元,此处不再一一列举。另外,图5和图6的编码单元中示出的水平虚线和垂直虚线仅为了示意性说明可读标记的位置,在具体实施时,水平虚线和垂直虚线不需要呈现在物体表面。

值得说明的是,优选地,在编码单元中包含多个可读标记时,每个编码单元中相邻可读标记间的距离相等,相邻编码单元之间的距离相等,并且相邻编码单元之间的距离大于编码单元中可读标记之间的距离。例如:当编码单元中包含两个可读标记时,两个可读标记之间的距离是相邻两个编码单元之间距离的1/3。在本发明的实施方式中,较为优选地,相邻编码单元之间的距离可以是相邻编码单元几何中心之间的距离,当然,也可以是相邻编码单元中相同位置处两点之间的距离,当然也可以是相邻编码单元对应的参考位置点之间的距离;同样的,相邻可读标记间的距离可以是相邻可读标记几何中心之间的距离,也可以是相邻可读标记相同位置处两点之间的距离,这些实施方式都在本发明的保护范围之内。

从上述描述可知,可通过两个或多个可读标记的不同组合来定义编码单元的编码值,即通过可读标记组合来标识编码单元的编码值,其中,可读标记自身的特征包括可读标记的长度值。在另外的实施例中,通过可读标记组合来标识编码单元的编码值的方法,其中可读标记自身的特征可不限于长度值,也可包括灰度值、面积值、宽度值、长宽比、形状、颜色等。

优选地,为了增加编码单元在物体表面的随机性、减小编码图案对用户视觉上的影响,在步骤402中将多个编码单元呈现在物体表面之前,还可以以编码单元的参考位置点为旋转中心对编码单元进行旋转,则将编码单元呈现在物体表面,包括:将经过旋转的编码单元呈现在物体表面。

具体实施时,编码单元中包括多个可读标记时,将多个可读标记作为一个整体,进行旋转操作。具体来说,可以对所有编码单元进行旋转操作,也可以对部分编码单元进行旋转操作,而且旋转角度可以是任意角度。其中,对编码单元进行旋转的情况下,呈现在物体表面的多个编码单元的方向可以不完全一致。

作为较为具体的实施例,如图7所示,图7中示出的编码单元701在图6中示出的编码单元601的基础上未经过旋转处理,图7中示出的编码单元702是对图6中示出的编码单元602逆时针旋转45°(度)生成的,图7中的编码单元703是对编码单元603逆时针旋转90°生成的,图7中的编码单元704是对编码单元604逆时针旋转135°生成的,对编码单元进行旋转操作之后,将编码单元呈现在物体表面。

以一个编码单元中的全部可读标记为对象独立地进行上述任意角度的旋转操作后,由于编码单元依赖自身的特征用于解析编码单元标识的编码值,因此,不会影响编码单元的认定或编码单元的编码值,也不影响位置坐标信息的解析结果。而且通过对编码单元进行任意角度的旋转,可以使得物体表面(如纸面)的印刷颜色分布比较均匀。由于是以编码单元的参考位置点为旋转中心进行旋转的,该编码单元的参考位置点位置不变,不会影响多个编码单元的参考位置点之间连线的方向。

优选地,为了提高可读标记长度值读取的准确性、降低读取长度值的误判率、减小可读标记之间长度值的差异性、减小编码图案对用户视觉上的影响,在步骤402中将多个编码单元呈现在物体表面之前,还可以在编码单元中添加参考可读标记,参考可读标记用于确定编码单元所包含的可读标记标识的数值;则将编码单元呈现在物体表面,包括:将包含参考可读标记的编码单元呈现在物体表面。

具体实施时,参考可读标记的长度值可以为预设长度值,例如:预设长度值为0.05mm,也可以是预设数量个编码单元所包含所有可读标记的平均长度值,例如:6个编码单元中所包含所有可读标记的平均长度值。另外,参考可读标记的长度值的单位除了可以是长度单位例如mm,还可以是像素的个数,即长度值也可以由相应的像素的个数来表征,例如如果参考可读标记是由10个像素排成一排组成,则该参考可读标记的长度值为10个像素,如果参考可读标记是10*5个像素组成的矩形,则该参考可读标记的长度值为10个像素。一样的逻辑,可读标记的长度值也可以由像素的个数来表征,且下文中的微小图形的大小和长度值也可以由像素的个数来表征。

值得说明的是,具体实施时,可以预先配置编码单元中是否包含参考可读标记,以区分包含参考可读标记的编码单元与未包含参考可读标记的编码单元。

作为较为具体的实施例,如图8所示,图8中示出的编码单元801是在图6中示出的编码单元601中添加参考可读标记80生成的,图8中示出的编码单元802是在图6中示出的编码单元602中添加参考可读标记80生成的,图8中示出的编码单元803是在图6中示出的编码单元603中添加参考可读标记80生成的,图8中示出的编码单元804是在图6中示出的编码单元604中添加参考可读标记80生成的,在每个编码单元中添加参考可读标记80之后,将编码单元呈现在物体表面。优选的,参考可读标记80的长度值为编码单元中两个可读标记长度值的平均值。

在又一个实施例中,在物体表面上不呈现参考可读标记。通过获取多个可读标记的长度值,并进一步计算多个可读标记的平均长度值来确定可读标记标识的数值,例如:大于平均长度值的可读标记标识的数值为1,小于平均长度值的可读标记标识的数值为0。在一个实施例中,通过获得可读标记的绝对值长度直接确定可读标记标识的数值。

需要说明的是,具体实施时,在步骤402中将多个编码单元呈现在物体表面之前,以编码单元的参考位置点为旋转中心对编码单元进行旋转操作的步骤和在编码单元中添加参考可读标记的步骤,可以同时执行,也可以执行其中一项。

作为较为具体的实施例,如图9所示,图9中示出的编码单元901是在图6中示出的编码单元601中添加参考可读标记生成的,图9中示出的编码单元902是在图6中示出的编码单元602中添加参考可读标记,并且逆时针旋转45°生成的,图9中示出的编码单元903是在图6中示出的编码单元603中添加参考可读标记,并且逆时针旋转90°生成的,图9中示出的编码单元904是在图6中示出的编码单元604中添加参考可读标记,并且逆时针旋转135°生成的,在对编码单元进行处理之后,将编码单元呈现在物体表面。

优选地,为了降低对呈现编码图案的设备(例如:打印机)的精度要求,降低呈现或打印编码图案的成本,同时提高编码图案的清晰度,增加识别的准确度,本发明实施例还可以将可读标记划分为一个或多个微小图形,其中,微小图形的长度值小于或等于可读标记的长度值,而在将多个编码单元呈现在物体表面时,利用微小图形呈现至少一个编码单元中的一个或多个可读标记。其中,微小图形可以是任意图形,例如:点、线段、圆形、正方形、三角形以及多边形等任意形状,微小图形的宽度或半径与可读标记(例如:线段)的宽度相等,为了提高编码图案清晰度以及打印效果,优先选择正方形的微小图形。

具体实施时,可以利用微小图形呈现部分编码单元中的可读标记,也可以利用微小图形呈现全部编码单元中的可读标记,当然,针对单个编码单元而言,可以利用微小图形呈现编码单元中的部分可读标记,也可以利用微小图形呈现编码单元中的全部可读标记,本发明对此不做限定。

较为优选地,微小图形的长度值小于可读标记的长度值,当然,微小图形与可读标记的关系随编码单元自身的特征不同而不同,例如:编码单元自身的特征为编码单元中可读标记的宽度值时,微小图形的宽度值小于可读标记的宽度值。优选的,微小图形最小可为呈现在物体表面上的单个像素的大小,相邻微小图形之间的距离远小于可读标记之间的距离,可读标记由多个宽度相同的微小图形组成,在呈现可读标记时,连续紧密地呈现多个微小图形代替呈现可读标记。

作为较为具体的实施例,编码单元中包括三个可读标记,可读标记为线段,在呈现编码单元时,利用单个微小图形呈现较短线段,如图10所示,编码单元1001、编码单元1002、编码单元1003和编码单元1004中均包含三个可读标记,且较短线段的可读标记利用微小图形呈现,较长线段的可读标记仍然使用线段呈现。

作为另一较为具体的实施例,编码单元中包括两个可读标记,可读标记为线段,在呈现编码单元时,利用多个微小图形呈现可读标记,如图11所示,编码单元1101、编码单元1102、编码单元1103和编码单元1104中均包含两个可读标记,且较短线段的可读标记利用两个微小图形呈现,较长线段的可读标记利用五个微小图形呈现。

当然,需要说明的是,在利用微小图形呈现编码单元时,还可以以编码单元的参考位置点为旋转中心对编码单元进行旋转处理,也可以在编码单元中添加参考可读标记,当然,参考可读标记也可以利用微小图形呈现。

优选地,为了进一步降低物体表面打印编码图案前后的差异度,还可以将编码图案的灰度值设定为与物体表面的灰度值较为接近,但需要保证可读标记的灰度值与物体表面的灰度值有一定的差值,以保证可读标记能够被识别。

具体实施时,可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值,其中,第一预设灰度阈值可以自由设定,第二预设灰度阈值可以根据识别可读标记设备的识别精度设定,例如:第一预设灰度阈值为50,第二预设灰度阈值为20。作为较为具体的实施例,物体表面的灰度值为150,第一预设灰度阈值为50,第二预设灰度阈值为20,则可读标记的灰度值可以在区间(100,130)或者(170,200)中选择。

以上结合图4~图11对本发明实施例提供的编码图案的生成方法进行了说明,接下来结合图12对本发明实施例提供的编码图案的识别方法进行了说明。

图12为本发明实施例提供的一种编码图案的识别方法的流程示意图,主要包括编码图案的识别流程,执行主体可以为应用场景总览中的智能书写设备302和/或用户终端303,如图12所示,本发明实施例提供的一种编码图案的识别方法,包括如下步骤:

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

本步骤中,采集呈现有编码图案的物体表面的目标图像,可以由安装在智能书写设备302中的图像采集设备采集,也可以由与智能书写设备302共同使用的其它设备采集,具体实施时,可以通过拍摄物体表面的编码图案来采集目标图像。

步骤1202,确定编码图案中的编码单元,并根据编码单元自身的特征确定编码单元标识的编码值,其中,所述编码单元中包含一个或多个可读标记。

本步骤中,在采集到的目标图像中,确定编码图案中的编码单元,根据编码单元自身的特征确定编码单元标识的编码值。其中,编码单元自身的特征,是指编码单元本身所具备的特征,不包括编码单元与其它参照物相对比所具有的特征。具体来说,编码单元自身的特征,包括:编码单元中可读标记的长度值、可读标记的灰度值以及可读标记的面积值等,在本实施例中仍以编码单元中可读标记的长度值为例进行说明。当然,本领域技术人员应当理解的是,在本发明其它实施例中,编码单元自身的特征为编码单元中可读标记的灰度值或者面积值时,原理与本发明实施例类似。

本发明实施例,在物体表面上进行位置编码时,利用编码单元自身的特征进行编码,在解析编码图案代表的数值信息时,通过识别编码单元自身的特征,根据编码单元自身的特征解析编码单元标识的编码值,只需识别编码单元自身的特征,即可解析出编码单元标识的编码值,无需计算网格位置,也无需计算可读标记之间的角度,识别简单,识别精度高,计算量小,运行速度快。

优选地,为了更加方便快速的确定编码图案中的编码单元,可以先确定编码图案中的参考线,参考线标识编码图案中编码单元的排列方向,例如:图5-图11中的水平虚线可以称为水平参考线,图5-图11中的垂直虚线可以称为垂直参考线,确定编码图案中的参考线之后,在编码图案中确定编码单元时,即可在编码图案中确定出一个或多个编码单元之后,沿参考线的方向确定下一个编码单元。

当然,编码图案中的参考线除了可以用于方便快速的确定编码单元之外,还可以用于在拍摄的目标图像中编码图案倾斜的情况下,用于对目标图像进行旋转处理,以提高编码单元识别的准确率和效率,具体来说:

判断编码图案中的参考线与目标图像的边界框线是否平行,若判定结果为否,则旋转目标图像,使编码图案中的参考线与边界框线平行;则确定编码图案中的编码单元,包括:在经过旋转后的目标图像中,确定编码图案中的编码单元。其中,在判定编码图案中的参考线与目标图像的边界框线不平行时,旋转目标图像,是指在目标图像边界框线部分保持不动的情景下,对目标图像中的图像内容部分进行旋转,以使编码图案中的参考线与边界框线平行,经过旋转的图像内容部分若落在目标图像边界框线之外,则可以舍弃落在目标图像边界框线之外的这部分图像内容。

若编码图案中的参考线与目标图像的边界框线平行,则不需要对目标图像进行旋转处理,若编码图案中的参考线与目标图像的边界框线不平行,则旋转目标图像,使编码图案中的参考线与边界框线平行。其中,编码图案中的参考线与边界框线平行的好处在于,在后续识别其他行或者其它列上的编码单元时,可以在当前计算出的参考线的水平或者竖直坐标值的基础上加一个偏移量,即得到其他行或者其它列的参考线的大致位置,由此可以快速识别目标图像中的其他行或者其它列的编码单元,由此节约了运算量。其中,判断编码图案中参考线与目标图像的边界框线是否平行,可以采用现有技术中的方法,此处不再赘述。

具体实施时,确定编码图案中的参考线,可以采用如下方式:

在编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成参考线。

具体实施时,为了提高确定的参考线的准确性,在连接两个第一目标编码单元的参考位置点生成参考线之前,还可以判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准,若判定结果为是,则连接两个第一目标编码单元的参考位置点生成参考线,若判定结果为否,则重新确定两个第一目标编码单元,继续判断重新确定的两个第一目标编码单元之间的距离是否符合第一预设标准,直至确定出的两个第一目标编码单元之间的距离符合第一预设标准,连接两个第一目标编码单元的参考位置点生成参考线。

第一预设标准可以是预定义的两个编码单元之间距离的n(n为自然数)倍,也即判断两个第一目标编码单元之间的距离是否等于预定义的两个编码单元之间距离的n(n为自然数)倍,当然,具体实施时,可以有一定的误差范围。其中,预定义的两个编码单元之间的距离,可以是将编码单元呈现在物体表面时,设置的一个绝对长度值,也可以是根据拍摄到的图像计算得到的长度值,例如:在确定目标图像中包含的所有编码单元之后,检索所有编码单元两两之间的距离,并将所有编码单元两两之间的距离最小值作为预定义的两个编码单元之间的距离。

较为优选地,在计算两个第一目标编码单元之间的距离时,计算两个第一目标编码单元的参考位置点之间的直线距离,当然,在本发明其它实施例中,也可以计算两个第一目标编码单元中相同位置处两点之间的直线距离,只要能确定两个第一目标编码单元之间的距离即可;需要说明的是,在部分旋转编码单元经过旋转的情况下,或者不同的编码单元旋转的角度不一致的情况下,在旋转中心为参考位置点时,可以通过参考位置点之间的距离来表示编码单元之间的距离。

作为较为特殊的实施例,若编码单元中包含一个可读标记,一个可读标记即为一个编码单元,则确定编码图案中的参考线,包括:在编码图案中选择两个可读标记,判断所选择的两个可读标记之间的距离是否符合第一预设标准,若判定结果为是,则连接所选择的两个可读标记的参考位置点生成参考线。

作为另一较为特殊的实施例,若编码单元中包含多个(包含两个及两个以上)可读标记,且编码单元未经过旋转处理,由于编码单元未经过旋转处理,同一行或者同一列编码单元中的可读标记均沿同一方向(也即参考线的方向)排列,因此,确定编码图案中的参考线,包括:在编码图案中确定出一个第二目标编码单元,并连接第二目标编码单元中两个可读标记的预设位置点生成参考线,该两个可读标记的预设位置点,可以分别位于两个可读标记的相同位置处;较为优选地,连接第二目标编码单元中两个可读标记的几何中心生成参考线。

其中,在连接第二目标编码单元中的两个可读标记的预设位置点生成参考线时,两个可读标记可以是编码单元所包括多个可读标记中的任意两个,此处不做具体限定。而且,应当理解的是,本发明实施例中所提到的第一目标编码单元和第二目标编码单元,均是在编码图案中确定出的编码单元,而第一目标编码单元和第二目标编码单元的名称,仅用于区分两种实施例中确定出的编码单元。

具体实施时,如图6所示的情况,编码单元中包含两个可读标记,且编码单元未经过旋转处理,则确定编码图案中的参考线时,仅需要确定一个编码单元,然后连接确定出的编码单元中两个可读标记的预设位置点生成参考线,较为优选地,为了使得编码单元的几何中心在参考线上,在生成参考线时,可以连接两个可读标记的几何中心生成参考线。

当然,编码单元中包含多个可读标记时,只要编码单元未经过旋转处理,都可以在编码图案中确定出一个编码单元,然后连接确定出的编码单元中任意两个可读标记的预设位置点生成参考线。

具体实施时,无论是解析编码单元标识的编码值,还是确定编码图案中的参考线,均需要先在编码图案中确定出一个或多个编码单元,而在编码图案中确定编码单元,包括以下几种情况:

情况一、编码单元中包含一个可读标记,如图5所示,则确定编码图案中的编码单元,包括:将该一个可读标记确定为一个编码单元。

情况二、编码单元中包含N个可读标记,如图6-图9所示,则确定编码图案中的编码单元,包括:在编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

在选择N个可读标记之后,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,具体实施时,预设组合可以自由设定,而第二预设标准可以根据预设组合的不同而不同,例如:预设组合可以是所有N个可读标记的两两组合,第二预设标准可以为:等于预定义的两个可读标记之间距离的n(n为不大于N-1的自然数)倍,判断所选择的N个可读标记中,每两个可读标记之间的距离是否均等于预定义的两个可读标记之间距离的n(n为不大于N-1的自然数)倍(具体实施时可以有一定的误差范围),若是,则将所选择的N个可读标记确定为一个编码单元;再例如:预设组合为N个可读标记两两组合中的部分组合,预设组合为距离最大的两个可读标记的组合,以及相邻两个可读标记的组合,而第二预设标准可以为:相邻两个可读标记之间的距离等于预定义的两个可读标记之间的距离,且距离最大的两个可读标记之间的距离等于预定义的两个可读标记之间距离的N-1倍。其中,预定义的两个可读标记之间的距离,可以是将编码单元呈现在物体表面时,设置的一个绝对长度值,也可以检索目标图像中所有可读标记两两之间的距离,并将目标图像中所有可读标记两两之间的最小值作为预定义的两个可读标记之间的距离。

其中,较为优选地,两个可读标记之间的距离为两个可读标记之间的直线距离,可以是两个可读标记几何中心之间的直线距离,也可以是两个可读标记相同位置处两点之间的直线距离。

作为较为具体的实施例,编码单元中包含两个可读标记,如图6和图7所示,在确定编码图案中的编码单元时,在编码图案中任选两个可读标记,优选地,选择相邻的两个可读标记,然后判断所选择的两个可读标记之间的直线距离是否等于预定义的两个可读标记之间的距离,若判定结果为是,则将所选择的两个可读标记确定为一个编码单元,若判定结果为否,则所选择的两个可读标记不是一个编码单元中的可读标记。

作为另一较为具体的实施例,编码单元中包含三个可读标记,如图8和图9所示,在确定编码图案中的编码单元时,在编码图案中任选三个可读标记,优选地,选择相邻的三个可读标记,然后在所选择的三个可读标记中,判断相邻两个可读标记之间的直线距离是否等于预定义的两个可读标记之间的距离,并判断距离最大的两个可读标记之间的直线距离是否等于预定义的两个可读标记之间距离的2倍,若判定结果均为是,则将所选择的三个可读标记确定为一个编码单元,若判定结果为否,则所选择的三个可读标记不是一个编码单元中的可读标记。

需要说明的是,若编码图案中的可读标记利用微小图形呈现,则在确定编码图案中的编码单元之前,还需要确定编码图案中的可读标记,然后利用确定出的可读标记确定编码图案中的编码单元。

具体实施时,编码图案中的可读标记利用微小图形呈现时,确定编码图案中的可读标记,包括:将预设范围内的一个微小图形作为一个可读标记,或者连接预设范围内的多个微小图像构成可读标记。其中,预设范围可以是设定的长度范围,例如:0-0.2mm,也可以以较长线段的长度值为标准设定,例如:较长线段的长度值为0.1mm,则预设范围为0-0.1mm。

具体来说,如图10所示,由于较短线段使用单个微小图形呈现,因此,在编码图案中确定可读标记时,可以将一个微小图形作为一个可读标记。如图11所示,由于较短线段和较长线段均使用多个微小图形呈现,因此,在编码图案中确定可读标记时,可以连接预设范围内的多个微小图像构成可读标记。当然,本领域技术人员应当理解的是,为了提高确定出的可读标记的准确性,在确定可读标记时,还可以结合微小图形之间的距离判断预设范围内的多个微小图形是否属于同一可读标记,其判断原理与本发明实施例中判断可读标记是否属于同一编码单元的原理类似,在此不再赘述。

在编码单元自身的特征为编码单元中可读标记的长度值时,步骤1202中,根据编码单元自身的特征确定编码单元标识的编码值,可以分为以下情况,具体来说:

情况一、编码单元包含一个可读标记,则根据编码单元自身的特征确定编码单元标识的编码值,包括:根据该一个可读标记的长度值确定可读标记标识的数值,并将该一个可读标记标识的数值作为编码单元标识的编码值。

情况二、编码单元包含多个可读标记,则根据编码单元自身的特征确定编码单元标识的编码值,包括:根据每个可读标记的长度值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定编码单元标识的编码值。

具体实施时,编码单元中包含多个可读标记时,编码单元中每个可读标记均可以解析出相应的数值,则在确定编码单元标识的编码值时,还需要根据编码单元中可读标记的排列顺序或者编码单元中可读标记的组合方式。

作为较为具体的实施例,如图6所示,每个编码单元中均包含两个可读标记,假设较长线段的可读标记标识的数值为二进制数值1,较短线段可读标记标识的数值为二进制数值0,确定编码单元602标识的编码值时,首先确定编码单元602中可读标记标识的数值分别为二进制数值0和二进制数值1,由于编码单元602中较短线段的可读标记排列在较长线段的可读标记之前,因此,编码单元601标识的编码值为二进制数值01,也即编码单元602标识的编码值为1,以此类推,编码单元601标识的编码值为0,编码单元603标识的编码值为2,编码单元604标识的编码值为3。

需要说明的是,在根据可读标记的长度值确定可读标记标识的数值时,需要将可读标记的长度值与预设长度阈值进行比较,进而确定可读标记标识的数值,其中,若编码单元中包含参考可读标记,则预设长度阈值为参考可读标记的长度值,若编码单元中未包含参考可读标记,则预设长度阈值可以为呈现编码单元时,设定的一个长度值,例如:预设长度阈值为0.05mm,预设长度阈值也可以是预设数量个编码单元中可读标记长度值的平均值。

具体实施时,编码单元中包含参考可读标记,则根据可读标记的长度值确定可读标记标识的数值,包括:针对编码单元中除参考可读标记之外的每个可读标记,将可读标记的长度值与参考可读标记的长度值进行比较,根据比较结果确定可读标记标识的数值。例如:可读标记的长度值大于参考可读标记的长度值,可读标记标识的数值为1;可读标记的长度值小于参考可读标记的长度值,可读标记标识的数值为0。

编码单元中未包含参考可读标记,则根据可读标记的长度值确定可读标记标识的数值,包括:针对编码单元中的每个可读标记,将可读标记的长度值与预设长度阈值进行比较,根据比较结果确定可读标记标识的数值。例如:可读标记的长度值大于预设长度阈值,可读标记标识的数值为1;可读标记的长度值小于预设长度阈值,可读标记标识的数值为0。

具体实施步骤1202时,可以先确定一个或两个编码单元,根据确定出的一个或两个编码单元,确定编码图案中的参考线,然后以确定出的一个或两个编码单元为基础,沿参考线方向识别其它编码单元,同时解析编码单元标识的编码值。在解析编码图案中编码单元标识的编码值时,可以以逐行或者逐列的方式进行解析,在编码图案中确定出一行或者一列的参考线之后,后续识别其它行或者其它列上的编码单元时,可以在首先计算出的参考线的水平或竖直坐标值的基础上加上一个偏移量,得到其他行或者其它列的参考线的大致位置,由此,可以快速识别编码图案中的其它行或者其它列的编码单元。其中,在确定每行或者每列的参考线后,解析该行或者该列中编码单元标识的编码值时,首先识别出该行或者该列的第一个编码单元,解析第一个编码单元标识的编码值,然后沿参考线方向识别下一个编码单元,并解析下一个编码单元标识的编码值,以此类推,直至解析出该行或者该列最后一个编码单元标识的编码值为止。

示例性设备

在介绍了本发明示例性实施方式的方法之后,接下来,参考图13~图14描述本发明示例性实施方式的编码图案的生成装置和识别装置。

图13为本发明实施例提供的一种编码图案的生成装置的结构示意图,如图13所示,可以包括如下模块:

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

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

其中,编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。

在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:

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

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

在本实施例的一些实施方式中,编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在本实施例的一些实施方式中,可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:

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

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

优选地,在可读标记的几何特征包括可读标记的长度值的条件下,第二处理模块1304在编码单元中添加的参考可读标记的长度值为预设长度值或者预设数量个编码单元所包含所有可读标记的平均长度值。

在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:

划分模块1305,用于将可读标记划分为一个或多个微小图形,优选的,微小图形最小可为呈现在物体表面上的单个像素的大小;

呈现模块1302,具体用于:

利用微小图形呈现至少一个编码单元中的一个或多个可读标记。

优选地,呈现模块1302呈现的可读标记包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。

优选地,呈现模块1302呈现的可读标记的灰度值与物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。

优选地,呈现模块1302,还用于:在编码单元中包括多个可读标记的情况下,通过多个可读标记的组合来标识编码单元的编码值。

图14为本发明实施例提供的一种编码图案的识别装置的结构示意图,如图14所示,可以包括如下模块:

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

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

在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:

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

则解析模块1402确定编码图案中的编码单元,具体用于:

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

在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:

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

则解析模块1402确定编码图案中的编码单元,具体用于:

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

优选地,参考线确定模块1403,具体用于:在编码图案中确定出两个第一目标编码单元,并连接两个第一目标编码单元的参考位置点生成确定参考线;或者

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

优选地,参考线确定模块1403,包括:

判断单元14031,用于判断确定出的两个第一目标编码单元之间的距离是否符合第一预设标准;

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

优选地,在编码图案中的可读标记利用微小图形呈现的条件下,解析模块1402在确定编码图案中的编码单元之前,还用于:确定编码图案中的可读标记;

解析模块1402确定编码图案中的编码单元,具体用于:

利用确定出的可读标记确定编码图案中的编码单元。

优选地,在编码图案中的可读标记利用微小图形呈现的条件下,解析模块1402确定编码图案中的可读标记,具体用于:

将预设范围内的一个微小图形作为一个可读标记,或者连接预设范围内的多个微小图像构成可读标记。

优选地,解析模块1402确定编码图案中的编码单元,具体用于:

编码单元中包含一个可读标记,则将该一个可读标记确定为一个编码单元;或者

编码单元中包含N个可读标记,在编码图案中选择N个可读标记,在所选择N个可读标记的两两组合中,判断预设组合中两个可读标记之间的距离是否符合第二预设标准,若判定结果为是,则将所选择的N个可读标记确定为一个编码单元,其中,N为大于1的自然数。

在本实施例的一些实施方式中,编码单元自身的特征,包括:编码单元中可读标记的几何特征。

在本实施例的一些实施方式中,可读标记的几何特征包括以下至少一种:可读标记的长度值、宽度值以及长宽比。

优选地,在可读标记的几何特征包括可读标记的长度值的条件下,解析模块1402根据编码单元自身的特征确定编码单元标识的编码值,具体用于:

编码单元包含一个可读标记,则根据该一个可读标记的长度值确定可读标记标识的数值,并将该一个可读标记标识的数值作为编码单元标识的编码值;或者

编码单元包含多个可读标记,根据每个可读标记的长度值确定每个可读标记标识的数值,并根据多个可读标记的排列顺序以及每个可读标记标识的数值,确定编码单元标识的编码值。

优选地,解析模块1402根据可读标记的长度值确定可读标记标识的数值,具体用于:

编码单元中包含参考可读标记,则针对编码单元中除参考可读标记之外的每个可读标记,将可读标记的长度值与参考可读标记的长度值进行比较,根据比较结果确定可读标记标识的数值;或者

编码单元中未包含参考可读标记,则针对编码单元中的每个可读标记,将可读标记的长度值与预设长度阈值进行比较,根据比较结果确定可读标记标识的数值。

示例性设备

在介绍了本发明示例性实施方式的编码图案的生成装置和编码图案的识别装置之后,接下来,介绍根据本发明的另一示例性实施方式的编码图案的生成装置和编码图案的识别装置。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明的编码图案的生成装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤。例如,所述处理单元可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。

下面参照图15来描述根据本发明的这种实施方式的编码图案的生成装置150。图15显示的编码图案的生成装置150仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图15所示,编码图案的生成装置150以通用计算设备的形式表现。编码图案的生成装置150的组件可以包括但不限于:上述至少一个处理单元1501、上述至少一个存储单元1502、连接不同系统组件(包括处理单元1501和存储单元1502)的总线1503。

总线1503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储单元1502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)15021和/或高速缓存存储器15022,还可以进一步包括只读存储器(ROM)15023。

存储单元1502还可以包括具有一组(至少一个)程序模块15024的程序/实用工具15025,这样的程序模块15024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

编码图案的生成装置150也可以与一个或多个外部设备1504(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的生成装置150交互的设备通信,和/或与使得该编码图案的生成装置150能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1505进行。并且,编码图案的生成装置150还可以通过网络适配器1506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1506通过总线1503与编码图案的生成装置150的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的生成装置150使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

接下来,介绍根据本发明的又一示例性实施方式的编码图案的识别装置。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明的编码图案的识别装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤。例如,所述处理单元可以执行如图12中所示的步骤1201,采集呈现有编码图案的物体表面的目标图像;步骤1202,确定编码图案中的编码单元,并根据编码单元自身的特征确定编码单元标识的编码值,其中,编码单元中包含一个或多个可读标记。

下面参照图16来描述根据本发明的这种实施方式的编码图案的识别装置160。图16显示的编码图案的识别装置160仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图16所示,编码图案的识别装置160以通用计算设备的形式表现。编码图案的识别装置160的组件可以包括但不限于:上述至少一个处理单元1601、上述至少一个存储单元1602、连接不同系统组件(包括处理单元1601和存储单元1602)的总线1603。

总线1603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储单元1602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)16021和/或高速缓存存储器16022,还可以进一步包括只读存储器(ROM)16023。

存储单元1602还可以包括具有一组(至少一个)程序模块16024的程序/实用工具16025,这样的程序模块16024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

编码图案的识别装置160也可以与一个或多个外部设备1604(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的识别装置160交互的设备通信,和/或与使得该编码图案的识别装置160能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1605进行。并且,编码图案的识别装置160还可以通过网络适配器1606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图16所示,网络适配器1606通过总线1603与编码图案的识别装置160的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的识别装置160使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

示例性程序产品

在一些可能的实施方式中,本发明提供的编码图案的生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤,例如,所述计算机设备可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括一个或多个可读标记,且编码单元自身的特征用于解析编码单元标识的编码值。

上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

如图17所示,描述了根据本发明的实施方式的用于编码图案生成的程序产品170,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

在另一些可能的实施方式中,本发明提供的编码图案的识别方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤,例如,所述计算机设备可以执行如图12中所示的步骤1201,采集呈现有编码图案的物体表面的目标图像;步骤1202,确定编码图案中的编码单元,并根据编码单元自身的特征确定编码单元标识的编码值,其中,所述编码单元中包含一个或多个可读标记。

上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

如图18所示,描述了根据本发明的实施方式的用于编码图案识别的程序产品180,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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