CN106548499B - 一种编码图案的生成、识别方法及装置 - Google Patents
一种编码图案的生成、识别方法及装置 Download PDFInfo
- Publication number
- CN106548499B CN106548499B CN201610956312.9A CN201610956312A CN106548499B CN 106548499 B CN106548499 B CN 106548499B CN 201610956312 A CN201610956312 A CN 201610956312A CN 106548499 B CN106548499 B CN 106548499B
- Authority
- CN
- China
- Prior art keywords
- readable
- sub
- coding
- marks
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Abstract
本发明的实施方式提供了一种编码图案的生成方法和识别方法。其中,编码图案的生成方法,包括:获取用于解析物体表面位置的坐标信息的编码单元;将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。编码图案的识别方法,包括:采集呈现有编码图案的物体表面的目标图像;确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。本发明的方法降低了编码图案识别的计算量,提高编码图案的识别精度和识别速度。此外,本发明实施方式提供了一种编码图案的生成装置和识别装置。
Description
技术领域
本发明的实施方式涉及图像编码技术领域,更具体地,本发明的实施方式涉及一种编码图案的生成、识别方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有技术中,可以将包含信息(例如:数值信息、网址信息、坐标信息、文本信息以及加密信息等)的编码图案打印于物体表面,在需要这些信息时,可以通过采集物体表面的编码图案的图像,对编码图案的图像进行解析,就可以解析出编码图案中包含的信息。常见的编码图案可以是二维码、条形码、还可以是其他编码图案。具体实现时,可以将信息以特定算法进行编码,得到数字编码,再将数字编码以特定规则转换成编码图案,也可以直接以特定规则将信息转换成编码图案。
现有技术中,有一种打印于物体表面的编码图案,该编码图案用于表示物体上坐标位置的坐标信息,编码图案中包含的可读标记很小(例如:可读标记符号小于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个子可读标记呈现的条件下,确定所述编码图案中的可读标记,包括:在所述编码图案中选择2N-1个子可读标记,在所述2N-1个子可读标记中选择第四子可读标记,若所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于所述第四子可读标记的同一方向,且与所述第四子可读标记之间的距离均符合所述第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将所述第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于所述第五子可读标记的同一方向,且与所述第五子可读标记之间的距离均符合所述第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且所述N个子可读标记中至少包括位于所述可读标记两个端点处的子可读标记。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值,包括:根据预定义的角度参考值与编码值的对应关系以及所述编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
在本发明实施方式的第三方面中,提供了一种编码图案的生成装置,包括:
获取模块,用于获取用于解析物体表面位置的坐标信息的编码单元;
呈现模块,用于将多个编码单元呈现在所述物体表面,形成编码图案;
其中,所述编码单元中包括两个具有公共端点的可读标记,且所述两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:划分模块,用于将所述可读标记划分为一个或多个微小图形;所述呈现模块,具体用于:利用微小图形呈现至少一个编码单元中的一个或两个可读标记。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述呈现模块呈现的微小图形包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。
在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:子可读标记生成模块,用于将所述可读标记划分为多个子可读标记,所述多个子可读标记至少包括位于所述可读标记两个端点处的子可读标记;所述呈现模块,具体用于:利用所述多个子可读标记呈现至少一个编码单元中的一个或两个可读标记。
在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:第一处理模块,用于以编码单元的参考位置点为旋转中心对编码单元进行旋转操作;则所述呈现模块,具体用于:将经过旋转的编码单元呈现在所述物体表面。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述呈现模块呈现的可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
在本发明实施方式的第四方面中,提供了一种编码图案的识别装置,包括:
采集模块,用于采集呈现有编码图案的物体表面的目标图像;
解析模块,用于确定所述编码图案中的编码单元,并根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值。
在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:参考线确定模块,用于确定所述编码图案中的参考线;则所述解析模块确定所述编码图案中的编码单元,具体用于:在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。
在一种可能的实施方式中,本发明实施例提供的上述装置中,进一步包括:图像处理模块,用于判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的所述参考线与所述边界框线平行;则所述解析模块确定所述编码图案中的编码单元,具体用于:在经过旋转后的目标图像中,确定所述编码图案中的编码单元。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述参考线确定模块,具体用于:在所述编码图案中确定出两个目标编码单元,并连接两个目标编码单元的参考位置点生成所述参考线。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述参考线确定模块,包括:判断单元,用于判断确定出的两个目标编码单元之间的距离是否符合第一预设标准;确定单元,用于在所述判断单元判定两个目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个目标编码单元的参考位置点生成所述参考线。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述解析模块确定所述编码图案中的编码单元,具体用于:在所述编码图案中选择两个可读标记,判断所选择的两个可读标记是否有公共端点,若判断结果为是,则将所选择的两个可读标记确定为一个编码单元。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述编码图案中的可读标记利用微小图形呈现的条件下,则所述解析模块在确定所述编码图案中的编码单元之前,还用于:确定所述编码图案中的可读标记;则所述解析模块确定所述编码图案中的编码单元,具体用于:利用确定出的可读标记确定所述编码图案中的编码单元。
在一种可能的实施方式中,本发明实施例提供的上述装置中,在编码图案中的可读标记利用微小图形呈现的条件下,所述解析模块确定所述编码图案中的可读标记,具体用于:连接预设范围内的多个微小图形构成可读标记。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述编码图案中的可读标记利用多个子可读标记呈现的条件下,则所述解析模块在确定所述编码图案中的编码单元之前,还用于:确定所述编码图案中的可读标记;则所述解析模块确定所述编码图案中的编码单元,具体用于:利用确定出的可读标记确定所述编码图案中的编码单元。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述编码图案中的可读标记利用多个子可读标记呈现的条件下,所述解析模块确定所述编码图案中的可读标记,具体用于:在编码图案中的可读标记利用位于所述可读标记两个端点处的子可读标记呈现的条件下,在所述编码图案中选择三个子可读标记,在确定所述三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准的条件下,连接所述第一子可读标记与所述第三子可读标记生成可读标记,以及连接所述第二子可读标记与所述第三子可读标记生成可读标记;或者在编码图案中的可读标记利用N个子可读标记呈现的条件下,在所述编码图案中选择2N-1个子可读标记,在所述2N-1个子可读标记中选择第四子可读标记,若所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于所述第四子可读标记的同一方向,且与所述第四子可读标记之间的距离均符合所述第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将所述第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于所述第五子可读标记的同一方向,且与所述第五子可读标记之间的距离均符合所述第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且所述N个子可读标记中至少包括位于所述可读标记两个端点处的子可读标记。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述解析模块根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值,具体用于:根据预定义的角度参考值与编码值的对应关系以及所述编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
在本发明实施方式的第五方面中,提供了另一种编码图案的生成装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:
获取用于解析物体表面位置的坐标信息的编码单元;
将多个编码单元呈现在所述物体表面,形成编码图案;
其中,所述编码单元中包括两个具有公共端点的可读标记,且所述两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
在本发明实施方式的第六方面中,提供了另一种编码图案的识别装置,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:
采集呈现有编码图案的物体表面的目标图像;
确定所述编码图案中的编码单元,并根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值。
在本发明实施方式的第七方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:
获取用于解析物体表面位置的坐标信息的编码单元;
将多个编码单元呈现在所述物体表面,形成编码图案;
其中,所述编码单元中包括两个具有公共端点的可读标记,且所述两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
在本发明实施方式的第八方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:
采集呈现有编码图案的物体表面的目标图像;
确定所述编码图案中的编码单元,并根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值。
根据本发明实施方式的编码图案的生成、识别方法及装置,在物体表面上进行位置编码时,利用编码单元中两个具有公共端点的可读标记所成夹角进行编码,在解析编码图案代表的数值信息时,通过识别编码单元中两个具有公共端点的可读标记所成夹角,根据编码单元中两个具有公共端点的可读标记所成夹角解析编码单元标识的编码值,只需识别编码单元中两个具有公共端点的可读标记所成夹角,即可解析出编码单元标识的编码值,无需计算网格位置,识别简单,识别精度高,计算量小,运行速度快。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了现有技术中一种编码图案的示意图;
图2示意性地示出了现有技术中另一种编码图案的示意图;
图3示意性地示出了根据本发明实施方式的应用场景示意图;
图4示意性地示出了根据本发明实施例的编码图案的生成方法的流程示意图;
图5示意性地示出了根据本发明实施例的一种编码图案的示意图;
图6示意性地示出了根据本发明实施例的编码单元不同方向呈现方式的示意图;
图7示意性地示出了根据本发明实施例的一种利用微小图形呈现可读标记的编码图案的示意图;
图8示意性地示出了根据本发明实施例的一种利用位于可读标记端点处的两个子可读标记呈现可读标记的编码图案的示意图;
图9示意性地示出了根据本发明实施例的编码图案的识别方法的流程示意图;
图10示意性地示出了根据本发明实施例的一种编码图案的生成装置的结构示意图;
图11示意性地示出了根据本发明实施例的一种编码图案的识别装置的结构示意图;
图12示意性地示出了根据本发明实施例的另一种编码图案的生成装置的结构示意图;
图13示意性地示出了根据本发明实施例的另一种编码图案的识别装置的结构示意图;
图14示意性地示出了根据本发明实施例的用于编码图案的生成方法的程序产品示意图;
图15示意性地示出了根据本发明实施例的用于编码图案的识别方法的程序产品示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种编码图案的生成、识别方法及装置。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中,在物体表面上进行位置编码时,根据可读标记与标称位置的相对位置(或方向)来进行编码的方案,在解析编码图案代表的数值信息时,需要先确定出网格,然后根据可读标记在网格中的方位来获取编码图案代表的数值信息,识别过程复杂,计算量大,误判率较高;而根据编码图案中多个可读标记间的连线构成的线段的不同方向来进行编码的方案,在解析编码图案代表的数值信息时,需要先根据确定出的多对可读标记的中点计算出水平网格线和垂直网格线,然后计算两个可读标记间连线所构成的线段与水平网格线或垂直网格线间的夹角,计算夹角较为复杂而且误差较大。现有技术中缺乏一种改进的编码图案的生成、识别方法,以降低编码图案识别的计算量,提高编码图案的识别精度和识别速度。
为此,本发明提供了一种编码图案的生成、识别方法及装置,编码图案的生成方法可以包括:获取用于解析物体表面位置的坐标信息的编码单元;将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值;编码图案的识别方法可以包括:采集呈现有编码图案的物体表面的目标图像;确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图3,如图3所示,为本发明实施例提供的编码图案的生成方法和编码图案的识别方法的应用场景示意图,包括:用户30、纸张301、智能书写设备302以及用户终端303,其中,纸张301表面打印有编码图案,编码图案由多个编码单元组成,每个编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
用户30使用智能书写设备302在纸张301上书写时,智能书写设备302采集纸张301表面包含编码图案的目标图像,在目标图像中确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值,进而根据识别出的多个编码单元标识的编码值确定当前书写位置的坐标信息,并且可以将包含了多个书写位置的坐标信息的书写轨迹信息同步传输或异步传输到用户终端303中,用户终端303可以根据书写轨迹信息,回放书写轨迹。
其中,智能书写设备302和用户终端303可通过蓝牙、短距离通信、蜂窝移动网、无线局域网或者其他通信方式进行通信。智能书写设备302包括但不限于:智能笔,用户终端303可以为手机、平板电脑、PC等。
示例性方法
下面结合图3的应用场景,参考图4-图9来描述根据本发明示例性实施方式的编码图案的生成方法和识别方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图4为本发明实施例提供的一种编码图案的生成方法的流程示意图,主要包括编码图案的生成流程,如图4所示,本发明实施例提供的一种编码图案的生成方法,包括如下步骤:
步骤401,获取用于解析物体表面位置的坐标信息的编码单元。
本步骤中,用于解析物体表面位置的坐标信息的编码单元,可以根据物体表面位置的坐标信息确定,也可以直接获取由其它设备确定出的用于解析物体表面位置的坐标信息的编码单元。具体实施时,根据物体表面位置的坐标信息确定用于解析物体表面位置的坐标信息的编码单元,可以采用如下方式,例如:将坐标信息以一定的算法进行编码得到数字编码,再将数字编码以一定的规则转换为编码单元,或者直接将坐标信息以一定的规则转换为编码单元,本发明实施例对此不做限定。其中一个坐标信息可通过一个或多个编码单元进行解析。
步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
本步骤中,将多个编码单元呈现在物体表面,可以是将多个编码单元打印或印刷在物体表面,也可以将多个编码单元镂刻在物体表面,此处不做具体限定。编码单元中可以包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
本发明实施例利用两个具有公共端点的可读标记所成夹角解析编码单元标识的编码值,从而可以不借助于确定出的辅助线或者相对于辅助线的方向信息等特征即可解析编码单元标识的编码值,降低了解析的难度,而且无需确定辅助线以及编码单元相对于辅助线的方向信息,降低了编码单元解析时的计算量,且避免了由于辅助线确定时的不准确性带来的易发生解析错误的缺陷。
其中,利用两个具有公共端点的可读标记所成夹角解析编码单元标识的编码值,为了便于利用识别两个具有公共端点的可读标记所成夹角,可读标记的形状采用线段。而且可读标记的形状采用线段,使得呈现在物体表面的编码图案颜色更浅,从而降低物体表面打印编码图案前后的差异度,减小编码图案对用户视觉上的影响。
作为较为具体的实施例,编码单元中包括两个具有公共端点的可读标记,可读标记为线段,且使用两个具有公共端点的可读标记所成夹角标识不同的编码值,所成夹角为45°标识的编码值为1,所成夹角为90°标识的编码值为2,所成夹角为135°标识的编码值为3,所成夹角为180°标识的编码值为4,如图5所示,编码单元501~504中均包含两个具有公共端点的可读标记,且编码单元501~504中两个具有公共端点的可读标记所成夹角不同,因此,解析出的编码值也不相同,具体来说,编码单元501中两个具有公共端点的可读标记所成夹角为45°,则编码单元502标识的编码值为1,以此类推,编码单元502标识的编码值为2,编码单元503标识的编码值为3,编码单元504标识的编码值为4。
具体实施时,在将多个编码单元呈现在物体表面时,多个编码单元中两个可读标记所成夹角的方向可以一致,当然也可以是任意方向。值得说明的是,编码单元中两个具有公共端点的可读标记可以有任意不同的方向,并不局限于图5中示出的方向,只要编码单元两个具有公共端点的可读标记所成夹角相同,则解析出的编码值也相同。而且编码单元中两个可读标记的长度可以相等,如图5中所示,编码单元501~504中两个可读标记的长度均相等,在本发明其它实施例中,两个可读标记的长度也可以不相等,但只要编码单元中两个具有公共端点的可读标记所成夹角相同,则解析出的编码值也相同。
作为另一较为具体的实施例,如图6所示,虽然编码单元601~604中两个具有公共端点的可读标记的方向不同,但是编码单元601~604中两个具有公共端点的可读标记所成夹角相同,则编码单元601~604标识的编码值相同。
优选地,为了降低对呈现编码图案的设备(例如:打印机)的精度要求,降低呈现或打印编码图案的成本,同时提高编码图案的清晰度,增加识别的准确度,本发明实施例还可以将可读标记划分为一个或多个微小图形,其中,微小图形的长度值小于可读标记的长度值,而在将多个编码单元呈现在物体表面时,利用微小图形呈现至少一个编码单元中的一个或两个可读标记。其中,微小图形可以是任意图形,例如:点、线段、圆形、正方形、三角形以及多边形等任意形状,微小图形的宽度或半径与可读标记(例如:线段)的宽度相等,为了提高编码图案清晰度以及打印效果,优先选择正方形的微小图形。
具体实施时,可以利用微小图形呈现部分编码单元中的可读标记,也可以利用微小图形呈现全部编码单元中的可读标记,当然,针对单个编码单元而言,可以利用微小图形呈现编码单元中的部分可读标记,也可以利用微小图形呈现编码单元中的全部可读标记,本发明对此不做限定。
较为优选地,微小图形的长度值小于可读标记的长度值,优选的,微小图形最小可为呈现在物体表面上的单个像素的大小,相邻微小图形之间的距离远小于可读标记的长度值,可读标记由多个宽度相同的微小图形组成,在呈现可读标记时,连续紧密地呈现多个微小图形代替呈现可读标记。
作为较为具体的实施例,编码单元中包括两个具有公共端点的可读标记,可读标记为线段,在呈现编码单元时,利用多个微小图形呈现可读标记,如图7所示,编码单元701、编码单元702、编码单元703和编码单元704中均包含两个具有公共端点的可读标记,且每个可读标记均利用微小图形呈现。
优选地,在本发明另一实施例中,为了降低对呈现编码图案的设备(例如:打印机)的精度要求,降低呈现或打印编码图案的成本,降低物体表面呈现编码图案前后的差异度,同时提高编码图案的清晰度,增加识别的准确度,本发明实施例还可以将可读标记划分为多个子可读标记,所述多个子可读标记至少包括位于可读标记两个端点处的子可读标记,例如:一个可读标记可由在位于其两个端点位置处的两个子可读标记组成,也可由位于其两个端点位置处的两个字可读标记以及位于其他位置的更多子可读标记组成。其中同一编码单元中两个可读标记在公共端点的子可读标记可共享。而在将多个编码单元呈现在物体表面时,可利用可读标记划分成的多个子可读标记呈现至少一个编码单元中的一个或两个可读标记。其中,子可读标记可以是任意图形,例如:点、线段、圆形、正方形、三角形以及多边形等任意形状,为了提高编码图案清晰度以及打印效果,子可读标记的形状优先选择正方形。
具体实施时,可以利用可读标记划分成的多个子可读标记呈现部分编码单元中的可读标记,也可以利用可读标记划分成的多个子可读标记呈现全部编码单元中的可读标记。当然,针对单个编码单元而言,可以利用可读标记划分成的多个子可读标记呈现编码单元中的部分可读标记,也可以利用可读标记划分成的多个子可读标记呈现编码单元中的全部可读标记,实现利用可读标记划分成的多个子可读标记呈现至少一个编码单元中的一个或两个可读标记,本发明对此不做限定。
较为优选地,子可读标记的长度值小于可读标记的长度值,优选的,子可读标记最小可为呈现在物体表面上的单个像素的大小,相邻子可读标记之间的距离远小于可读标记的长度值,而且每个可读标记可以划分为多个子可读标记,连接位于可读标记两个端点处的两个子可读标记可以得到可读标记。在呈现可读标记时,利用可读标记划分成的多个子可读标记呈现可读标记。
具体实施时,为了减小物体表面打印编码图案前后的差异度,减小编码图案对用户视觉上的影响,应利用尽可能少的子可读标记来呈现可读标记,具体来说,将可读标记划分为两个子可读标记,且两个子可读标记分别位于可读标记的两个端点处,在将多个编码单元呈现在物体表面时,利用位于可读标记两个端点处的子可读标记呈现至少一个编码单元中的一个或两个可读标记。
作为较为具体的实施例,编码单元中包括两个具有公共端点的可读标记,可读标记为线段,在呈现编码单元时,利用位于可读标记两个端点处的子可读标记呈现可读标记,如图8所示,编码单元801、编码单元802、编码单元803和编码单元804中均包含两个具有公共端点的可读标记,且编码单元中的每个可读标记均利用位于可读标记两个端点处的子可读标记呈现。其中同一编码单元中的两个可读标记在公共端点处共享一个子可读标记。
以上结合图5~图8对本发明实施例中编码单元的呈现形式进行了说明,为了方便说明本发明实施例中编码单元以及编码单元中可读标记的呈现方式,本发明实施例引入参考位置点的概念,每个编码单元对应设定参考位置点,参考位置点可以是预设位置点,例如:两个可读标记的公共端点,参考位置点可以是位于两个可读标记中某个特定可读标记之上的预设位置点,例如:可以为该特定可读标记的几何中心,也可以是该特定可读标记的其它预设位置点,例如:端点,当然,参考位置点也可以不位于编码单元所包括两个可读标记中的任何一个可读标记之上,例如:参考位置点位于两个可读标记几何中心连接所成线段的中点。优选的,参考位置点可以是对应编码单元中两个可读标记的公共端点。
需要说明的是,本发明实施例参考位置点以两个可读标记的公共端点为例进行说明,呈现编码单元时,同一行或同一列编码单元的参考位置点可以处于同一直线上,较为优选地,同一行或同一列编码单元的参考位置点的连线与纸张边沿平行或者垂直。具体来说,以图5为例,本发明实施例图5中示出的编码单元,其参考位置点(也即图5中水平虚线和竖直虚线的交点)均在一条直线上,也即均在图5中示出的水平虚线上,在本发明其它实施例中,同一行或同一列编码单元的参考位置点均在一条直线上时,该直线也可以不与图中示出的水平虚线重合,但较为优选地,与图5中示出的水平虚线平行或者垂直。
当然,本领域技术人员应当理解的是,编码单元中两个可读标记所成夹角可以是任意角度,而且两个可读标记所成夹角可以使用n个不同的角度值标识k个数值,其中,n和k均为大于1的自然数。通过两个可读标记所成的不同夹角值代表不同的编码单元,此处不再一一列举。另外,图5~图8的编码单元中示出的水平虚线和竖直虚线仅为了示意性说明可读标记的位置,在具体实施时,水平虚线和竖直虚线不需要呈现在物体表面。
值得说明的是,相邻编码单元之间的距离大于编码单元中可读标记的长度。例如:编码单元中可读标记的长度值是两个可读标记之间的距离的1/3。在本发明的实施方式中,较为优选地,相邻编码单元之间的距离可以是相邻编码单元几何中心之间的距离,例如:相邻编码单元几何中心之间的水平距离,当然,也可以是相邻编码单元中相同位置处两点之间的距离,当然也可以是相邻编码单元对应的参考位置点之间的距离;这些实施方式都在本发明的保护范围之内。
优选地,为了增加编码单元在物体表面的随机性、减小编码图案对用户视觉上的影响,在步骤402中将多个编码单元呈现在物体表面之前,还可以以编码单元的参考位置点为旋转中心对编码单元进行旋转,则将编码单元呈现在物体表面,包括:将经过旋转的编码单元呈现在物体表面。
具体实施时,编码单元中包括两个具有公共端点的可读标记,将两个具有公共端点的可读标记作为一个整体,进行旋转操作。具体来说,可以对所有编码单元进行旋转操作,也可以对部分编码单元进行旋转操作,而且旋转角度可以是任意角度。其中,对编码单元进行旋转的情况下,呈现在物体表面的多个编码单元的方向可以不完全一致。
以一个编码单元中的全部可读标记为对象独立地进行上述任意角度的旋转操作后,由于依赖编码单元中两个可读标记所成夹角解析编码单元标识的编码值,因此,不会影响编码单元的认定或编码单元的编码值,也不影响位置坐标信息的解析结果。而且通过对编码单元进行任意角度的旋转,可以使得物体表面(如纸面)的印刷颜色分布比较均匀。由于是以编码单元的参考位置点为旋转中心进行旋转的,该编码单元的参考位置点位置不变,不会影响多个编码单元的参考位置点之间连线的方向。
优选地,为了进一步降低物体表面打印编码图案前后的差异度,还可以将编码图案的灰度值设定为与物体表面的灰度值较为接近,但需要保证可读标记的灰度值与物体表面的灰度值有一定的差值,以保证可读标记能够被识别。
具体实施时,可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值,其中,第一预设灰度阈值可以自由设定,第二预设灰度阈值可以根据识别可读标记设备的识别精度设定,例如:第一预设灰度阈值为50,第二预设灰度阈值为20。作为较为具体的实施例,物体表面的灰度值为150,第一预设灰度阈值为50,第二预设灰度阈值为20,则可读标记的灰度值可以在区间(100,130)或者(170,200)中选择。
以上结合图4~图8对本发明实施例提供的编码图案的生成方法进行了说明,接下来结合图9对本发明实施例提供的编码图案的识别方法进行了说明。
图9为本发明实施例提供的一种编码图案的识别方法的流程示意图,主要包括编码图案的识别流程,执行主体可以为应用场景总览中的智能书写设备302和/或用户终端303,如图9所示,本发明实施例提供的一种编码图案的识别方法,包括如下步骤:
步骤901,采集呈现有编码图案的物体表面的目标图像;
本步骤中,采集呈现有编码图案的物体表面的目标图像,可以由安装在智能书写设备302中的图像采集设备采集,也可以由与智能书写设备302共同使用的其它设备采集,具体实施时,可以通过拍摄物体表面的编码图案来采集目标图像。
步骤902,确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。
本发明实施例,在物体表面上进行位置编码时,利用编码单元中两个具有公共端点的可读标记所成夹角进行编码,在解析编码图案代表的数值信息时,通过识别编码单元中两个具有公共端点的可读标记所成夹角,根据编码单元中两个具有公共端点的可读标记所成夹角解析编码单元标识的编码值,只需识别编码单元中两个具有公共端点的可读标记所成夹角,即可解析出编码单元标识的编码值,无需计算网格位置,识别简单,识别精度高,计算量小,运行速度快。
优选地,为了更加方便快速的确定编码图案中的编码单元,可以先确定编码图案中的参考线,参考线标识编码图案中编码单元的排列方向,例如:图5-图8中的水平虚线可以称为水平参考线,图5-图8中的竖直虚线可以称为垂直参考线,确定编码图案中的参考线之后,在编码图案中确定编码单元时,即可在编码图案中确定出一个或多个编码单元之后,沿参考线的方向确定下一个编码单元。
当然,编码图案中的参考线除了可以用于方便快速的确定编码单元之外,还可以用于在拍摄的目标图像中编码图案倾斜的情况下,用于对目标图像进行旋转处理,以提高编码单元识别的准确率和效率,具体来说:
判断编码图案中的参考线与目标图像的边界框线是否平行,若判定结果为否,则旋转目标图像,使编码图案中的参考线与边界框线平行;则确定编码图案中的编码单元,包括:在经过旋转后的目标图像中,确定编码图案中的编码单元。其中,在判定编码图案中的参考线与目标图像的边界框线不平行时,旋转目标图像,是指在目标图像边界框线部分保持不动的情景下,对目标图像中的图像内容部分进行旋转,以使编码图案中的参考线与边界框线平行,经过旋转的图像内容部分若落在目标图像边界框线之外,则可以舍弃落在目标图像边界框线之外的这部分图像内容。
若编码图案中的参考线与目标图像的边界框线平行,则不需要对目标图像进行旋转处理,若编码图案中的参考线与目标图像的边界框线不平行,则旋转目标图像,使编码图案中的参考线与边界框线平行。其中,编码图案中的参考线与边界框线平行的好处在于,在后续识别其他行或者其它列上的编码单元时,可以在当前计算出的参考线的水平或者竖直坐标值的基础上加一个偏移量,即得到其他行或者其它列的参考线的大致位置,由此可以快速识别目标图像中的其他行或者其它列的编码单元,由此节约了运算量。其中,判断编码图案中参考线与目标图像的边界框线是否平行,可以采用现有技术中的方法,此处不再赘述。
具体实施时,确定编码图案中的参考线,可以采用如下方式:
在编码图案中确定出两个目标编码单元,并连接两个目标编码单元的参考位置点生成参考线。
具体实施时,为了提高确定的参考线的准确性,在连接两个目标编码单元的参考位置点生成参考线之前,还可以判断确定出的两个目标编码单元之间的距离是否符合第一预设标准,若判定结果为是,则连接两个目标编码单元的参考位置点生成参考线,若判定结果为否,则重新确定两个目标编码单元,继续判断重新确定的两个目标编码单元之间的距离是否符合第一预设标准,直至确定出的两个目标编码单元之间的距离符合第一预设标准,连接两个目标编码单元的参考位置点生成参考线。
第一预设标准可以是预定义的两个编码单元之间距离的n(n为自然数)倍,也即判断两个目标编码单元之间的距离是否等于预定义的两个编码单元之间距离的n(n为自然数)倍,当然,具体实施时,可以有一定的误差范围。其中,预定义的两个编码单元之间的距离,可以是将编码单元呈现在物体表面时,设置的一个绝对长度值,也可以是根据拍摄到的图像计算得到的长度值,例如:在确定目标图像中包含的所有编码单元之后,检索所有编码单元两两之间的距离,并将所有编码单元两两之间的距离最小值作为预定义的两个编码单元之间的距离。
较为优选地,在计算两个目标编码单元之间的距离时,计算两个目标编码单元的参考位置点之间的直线距离,当然,在本发明其它实施例中,也可以计算两个目标编码单元中相同位置处两点之间的直线距离,只要能确定两个目标编码单元之间的距离即可;需要说明的是,在部分旋转编码单元经过旋转的情况下,或者不同的编码单元旋转的角度不一致的情况下,在旋转中心为参考位置点时,可以通过参考位置点之间的距离来表示编码单元之间的距离。
具体实施时,无论是解析编码单元标识的编码值,还是确定编码图案中的参考线,均需要先在编码图案中确定出一个或多个编码单元,而在编码图案中确定编码单元,包括:在编码图案中选择两个可读标记,判断所选择的两个可读标记是否有公共端点,若判断结果为是,则将所选择的两个可读标记确定为一个编码单元。
由于编码单元中包括两个具有公共端点的可读标记,因此,在编码图案中确定编码单元时,只需在编码图案中任意选择两个可读标记,较为优选地,选择相邻的两个可读标记,然后判断所选择的两个可读标记是否有公共端点,即可判断所选择的两个可读标记是否属于同一编码单元,具体来说,若所选择的两个可读标记具有公共端点,则将所选择的两个可读标记确定为一个编码单元,若所选择的两个可读标记无公共端点,则所选择的两个可读标记不是同一编码单元中的可读标记。
需要说明的是,若编码图案中的可读标记利用微小图形呈现,则在确定编码图案中的编码单元之前,还需要确定编码图案中的可读标记,然后利用确定出的可读标记确定编码图案中的编码单元。
具体实施时,编码图案中的可读标记利用微小图形呈现时,确定编码图案中的可读标记,包括:连接预设范围内的多个微小图形构成可读标记。其中,预设范围可以是设定的长度范围,例如:0-0.2mm,也可以以可读标记的长度值为标准设定,例如:可读标记的长度值为0.1mm,则预设范围为0-0.1mm。
具体来说,如图7所示,由于可读标记使用多个微小图形呈现,因此,在编码图案中确定可读标记时,可以连接预设范围内的多个微小图形构成可读标记。当然,本领域技术人员应当理解的是,为了提高确定出的可读标记的准确性,在确定可读标记时,还可以结合微小图形之间的距离判断预设范围内的多个微小图形是否属于同一可读标记,例如:在预设范围内选择N个微小图形,判断相邻微小图形之间的距离是否相等,且无相邻关系的微小图形之间的距离等于相邻微小图形之间距离的n(n为不大于N-1的自然数)倍,若是,则判定所选择的N个微小图形属于同一可读标记,当然,结合微小图形之间的距离判断预设范围内的多个微小图形是否属于同一可读标记,还可以采用其它方法,此处并不用于具体限定。
需要说明的是,若编码图案中的可读标记利用可读标记划分成的多个子可读标记呈现,则在确定编码图案中的编码单元之前,还需要确定编码图案中的可读标记,然后利用确定出的可读标记确定编码图案中的编码单元。
具体实施时,编码图案中的可读标记利用可读标记划分成的多个子可读标记呈现时,确定编码图案中的可读标记,可以分为以下两种情况:
情况一、编码图案中的可读标记利用位于可读标记两个端点处的子可读标记呈现,此种情况下,确定编码图案中的可读标记,包括:在编码图案中选择三个子可读标记,较为优选地,选择三个相邻的子可读标记,在确定三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准的条件下,连接第一子可读标记与第三子可读标记生成可读标记,以及连接第二子可读标记与第三子可读标记生成可读标记。
其中,第二预设标准可以根据编码单元中两个可读标记的长度设定,例如:编码单元中两个可读标记的长度相等时,第二预设标准为第一子可读标记与第三子可读标记之间的距离和第二子可读标记与第三子可读标记之间的距离相等,再例如:编码单元中两个可读标记的长度不相等时,其中一个可读标记的长度值为第一长度值,另一个可读标记的长度值为第二长度值,则第二预设标准为第一子可读标记与第三子可读标记之间的距离等于第一长度值,且第二子可读标记与第三子可读标记之间的距离等于第二长度值。而本发明实施例中子可读标记之间的距离是指两个子可读标记相同位置处两点之间的直线距离,例如:两个子可读标记几何中心之间的距离。
值得说明的是,第一子可读标记、第二子可读标记以及第三子可读标记均可以是所选择的三个子可读标记中的任意一个,其中,第一子可读标记、第二子可读标记以及第三子可读标记仅用于区分三个不同的可读标记。
具体来说,如图8所示,编码单元中两个可读标记的长度值相等,由于可读标记使用位于所述可读标记端点处的两个子可读标记呈现,因此,在编码图案中确定可读标记时,在编码图案中选择三个子可读标记,优选地,选择三个相邻的子可读标记,在确定三个子可读标记中第一子可读标记与第三子可读标记之间的距离和第二子可读标记与第三子可读标记之间的距离相等的条件下,连接第一子可读标记与第三子可读标记生成可读标记,以及连接第二子可读标记与第三子可读标记生成可读标记。
情况二、编码图案中的可读标记利用N个子可读标记呈现,此种情况下,确定编码图案中的可读标记,包括:在编码图案中选择2N-1个子可读标记,较为优选地,选择相邻的2N-1个子可读标记,在2N-1个子可读标记中选择第四子可读标记,若第四子可读标记的同一方向上存在N-1个与第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于第四子可读标记的同一方向,且与第四子可读标记之间的距离均符合第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于第五子可读标记的同一方向,且与第五子可读标记之间的距离均符合第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且N个子可读标记中至少包括位于可读标记两个端点处的子可读标记。
具体实施时,若第四子可读标记的同一方向上不存在N-1个与第四子可读标记之间的距离符合第三预设标准的子可读标记,则在所选择的2N-1个子可读标记中重新选择第四子可读标记,并继续判断第四子可读标记的同一方向上是否存在N-1个与第四子可读标记之间的距离符合第三预设标准的子可读标记。
其中,第三预设标准可以根据编码单元中两个可读标记的长度设定,例如:编码单元中两个可读标记的长度相等时,第三预设标准为N-1个子可读标记与第四子可读标记(或者第五子可读标记)之间的距离不大于可读标记的长度值;再例如:编码单元中两个可读标记的长度不相等时,其中一个可读标记的长度值为第一长度值,另一个可读标记的长度值为第二长度值,则第三预设标准为N-1个子可读标记与第四子可读标记(或者第五子可读标记)之间的距离不大于第一长度值或者第二长度值。而本发明实施例中子可读标记之间的距离是指两个子可读标记相同位置处两点之间的直线距离,例如:两个子可读标记几何中心之间的距离。
值得说明的是,第四子可读标记可以是所选择的2N-1个子可读标记中的任意一个,其中,第一可读标记和第二可读标记仅用于区分两个可读标记确定出的先后顺序,而并不特指某个可读标记,在确定编码单元中包括的两个可读标记时,第一可读标记先确定出来,第二可读标记后确定出来。
当然,在编码单元中包括的两个可读标记均利用子可读标记呈现的条件下,在确定可读标记时,才需要选择2N-1个子可读标记,而在编码单元中包括的两个可读标记中仅有一个可读标记利用子可读标记呈现的条件下,只需要选择N个子可读标记。其中,选择N个子可读标记确定可读标记时,确定可读标记的方法与两个可读标记均利用子可读标记呈现的情况中确定第一可读标记的方法原理相同,此处不再赘述。
在本发明一种可能的实施例中,若所选择的2N-1个子可读标记满足以下条件中的任意一个,则所选择的2N-1个子可读标记不能确定出两个可读标记:
条件一、第四子可读标记的同一方向上不存在N-1个与第四子可读标记之间的距离符合第三预设标准的子可读标记;
条件二、确定第一可读标记之后,剩余的N-1个子可读标记位于第四子可读标记的同一方向,但存在至少一个子可读标记与第四子可读标记之间的距离不符合第三预设标准;
条件三、确定第一可读标记之后,剩余的N-1个子可读标记不位于第四子可读标记的同一方向,且不位于第五子可读标记的同一方向;
条件四、确定第一可读标记之后,剩余的N-1个子可读标记位于第五子可读标记的同一方向,但存在至少一个子可读标记与第五子可读标记之间的距离不符合第三预设标准。
步骤902中,根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值,包括:根据预定义的角度参考值与编码值的对应关系以及编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
具体实施时,预定义的角度参考值与编码值的对应关系,可以预定义n个角度参考值与k个编码值的对应关系,其中,n和k均为大于1的自然数,n和k的值根据具体需要的编码值设定。
具体实施步骤902时,可以先确定两个编码单元,根据确定出的两个编码单元,确定编码图案中的参考线,然后以确定出的两个编码单元为基础,沿参考线方向识别其它编码单元,同时解析编码单元标识的编码值。在解析编码图案中编码单元标识的编码值时,可以以逐行或者逐列的方式进行解析,在编码图案中确定出一行或者一列的参考线之后,后续识别其它行或者其它列上的编码单元时,可以在首先计算出的参考线的水平或竖直坐标值的基础上加上一个偏移量,得到其他行或者其它列的参考线的大致位置,由此,可以快速识别编码图案中的其它行或者其它列的编码单元。其中,在确定每行或者每列的参考线后,解析该行或者该列中编码单元标识的编码值时,首先识别出该行或者该列的第一个编码单元,解析第一个编码单元标识的编码值,然后沿参考线方向识别下一个编码单元,并解析下一个编码单元标识的编码值,以此类推,直至解析出该行或者该列最后一个编码单元标识的编码值为止。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图10~图11描述本发明示例性实施方式的编码图案的生成装置和识别装置。
图10为本发明实施例提供的一种编码图案的生成装置的结构示意图,如图10所示,可以包括如下模块:
获取模块1001,用于获取用于解析物体表面位置的坐标信息的编码单元;
呈现模块1002,用于将多个编码单元呈现在物体表面,形成编码图案;
其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:
划分模块1003,用于将可读标记划分为一个或多个微小图形;
呈现模块1002,具体用于:
利用微小图形呈现至少一个编码单元中的一个或两个可读标记。
优选地,呈现模块1002呈现的微小图形包括以下图形中的任意一种或多种:点、线段、圆形、矩形、三角形以及多边形。
在本发明的另一实施例中,可选的,该编码图案的生成装置,还包括:
子可读标记生成模块1004,用于将可读标记划分为多个子可读标记,多个子可读标记至少包括位于可读标记两个端点处的子可读标记;
呈现模块1002,具体用于:
利用多个子可读标记呈现至少一个编码单元中的一个或两个可读标记。
在本实施例的一些实施方式中,可选的,该编码图案的生成装置,还包括:
第一处理模块1005,用于以编码单元的参考位置点为旋转中心对编码单元进行旋转操作;
则呈现模块1002,具体用于:将经过旋转的编码单元呈现在物体表面。
优选地,呈现模块1002呈现的可读标记的灰度值与物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
图11为本发明实施例提供的一种编码图案的识别装置的结构示意图,如图11所示,可以包括如下模块:
采集模块1101,用于采集呈现有编码图案的物体表面的目标图像;
解析模块1102,用于确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。
在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:
参考线确定模块1103,用于确定编码图案中的参考线;
则解析模块1102确定编码图案中的编码单元,具体用于:
在编码图案中确定出一个或多个编码单元之后,沿参考线的方向确定下一个编码单元。
在本实施例的一些实施方式中,可选的,该编码图案的识别装置,还包括:
图像处理模块1104,用于判断编码图案中的参考线与目标图像的边界框线是否平行,若判定结果为否,则旋转目标图像,使编码图案中的参考线与边界框线平行;
则解析模块1102确定编码图案中的编码单元,具体用于:
在经过旋转后的目标图像中,确定编码图案中的编码单元。
优选地,参考线确定模块1103,具体用于:在编码图案中确定出两个目标编码单元,并连接两个目标编码单元的参考位置点生成确定参考线。
优选地,参考线确定模块1103,包括:
判断单元11031,用于判断确定出的两个目标编码单元之间的距离是否符合第一预设标准;
确定单元11032,用于在判断单元11031判定两个目标编码单元之间的距离符合第一预设标准的条件下,连接两个目标编码单元的参考位置点生成参考线。
优选地,解析模块1102确定编码图案中的编码单元,具体用于:
在编码图案中选择两个可读标记,判断所选择的两个可读标记是否有公共端点,若判断结果为是,则将所选择的两个可读标记确定为一个编码单元。
优选地,在编码图案中的可读标记利用微小图形呈现的条件下,解析模块1102在确定编码图案中的编码单元之前,还用于:确定编码图案中的可读标记;
解析模块1102确定编码图案中的编码单元,具体用于:
利用确定出的可读标记确定编码图案中的编码单元。
优选地,在编码图案中的可读标记利用微小图形呈现的条件下,解析模块1102确定编码图案中的可读标记,具体用于:
连接预设范围内的多个微小图形构成可读标记。
优选地,编码图案中的可读标记利用多个子可读标记呈现的条件下,则解析模块1102在确定编码图案中的编码单元之前,还用于:确定编码图案中的可读标记;
则解析模块1102确定编码图案中的编码单元,具体用于:
利用确定出的可读标记确定编码图案中的编码单元。
优选地,编码图案中的可读标记利用多个子可读标记呈现的条件下,解析模块1102确定编码图案中的可读标记,具体用于:
在编码图案中的可读标记利用位于可读标记两个端点处的子可读标记呈现的条件下,在编码图案中选择三个子可读标记,在确定三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准的条件下,连接第一子可读标记与第三子可读标记生成可读标记,以及连接第二子可读标记与第三子可读标记生成可读标记;或者
在编码图案中的可读标记利用N个子可读标记呈现的条件下,在编码图案中选择2N-1个子可读标记,在2N-1个子可读标记中选择第四子可读标记,若第四子可读标记的同一方向上存在N-1个与第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于第四子可读标记的同一方向,且与第四子可读标记之间的距离均符合第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于第五子可读标记的同一方向,且与第五子可读标记之间的距离均符合第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且N个子可读标记中至少包括位于可读标记两个端点处的子可读标记。
优选地,解析模块1102根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值,具体用于:
根据预定义的角度参考值与编码值的对应关系以及编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
示例性设备
在介绍了本发明示例性实施方式的编码图案的生成装置和编码图案的识别装置之后,接下来,介绍根据本发明的另一示例性实施方式的编码图案的生成装置和编码图案的识别装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的编码图案的生成装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤。例如,所述处理单元可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
下面参照图12来描述根据本发明的这种实施方式的编码图案的生成装置120。图12显示的编码图案的生成装置120仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,编码图案的生成装置120以通用计算设备的形式表现。编码图案的生成装置120的组件可以包括但不限于:上述至少一个处理单元1201、上述至少一个存储单元1202、连接不同系统组件(包括处理单元1201和存储单元1202)的总线1203。
总线1203表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1202可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)12021和/或高速缓存存储器12022,还可以进一步包括只读存储器(ROM)12023。
存储单元1202还可以包括具有一组(至少一个)程序模块12024的程序/实用工具12025,这样的程序模块12024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
编码图案的生成装置120也可以与一个或多个外部设备1204(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的生成装置120交互的设备通信,和/或与使得该编码图案的生成装置120能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1205进行。并且,编码图案的生成装置120还可以通过网络适配器1206与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图12所示,网络适配器1206通过总线1203与编码图案的生成装置120的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的生成装置120使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
接下来,介绍根据本发明的又一示例性实施方式的编码图案的识别装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的编码图案的识别装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤。例如,所述处理单元可以执行如图9中所示的步骤901,采集呈现有编码图案的物体表面的目标图像;步骤902,确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。
下面参照图13来描述根据本发明的这种实施方式的编码图案的识别装置130。图13显示的编码图案的识别装置130仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,编码图案的识别装置130以通用计算设备的形式表现。编码图案的识别装置130的组件可以包括但不限于:上述至少一个处理单元1301、上述至少一个存储单元1302、连接不同系统组件(包括处理单元1301和存储单元1302)的总线1303。
总线1303表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1302可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)13021和/或高速缓存存储器13022,还可以进一步包括只读存储器(ROM)13023。
存储单元1302还可以包括具有一组(至少一个)程序模块13024的程序/实用工具13025,这样的程序模块13024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
编码图案的识别装置130也可以与一个或多个外部设备1304(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与编码图案的识别装置130交互的设备通信,和/或与使得该编码图案的识别装置130能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1305进行。并且,编码图案的识别装置130还可以通过网络适配器1306与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图13所示,网络适配器1306通过总线1303与编码图案的识别装置130的其它模块通信。应当理解,尽管图中未示出,可以结合编码图案的识别装置130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明提供的编码图案的生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的生成方法中的步骤,例如,所述计算机设备可以执行如图4中所示的步骤401,获取用于解析物体表面位置的坐标信息的编码单元;步骤402,将多个编码单元呈现在物体表面,形成编码图案;其中,编码单元中包括两个具有公共端点的可读标记,且两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值。
上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图14所示,描述了根据本发明的实施方式的用于编码图案生成的程序产品140,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在另一些可能的实施方式中,本发明提供的编码图案的识别方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的编码图案的识别方法中的步骤,例如,所述计算机设备可以执行如图9中所示的步骤901,采集呈现有编码图案的物体表面的目标图像;步骤902,确定编码图案中的编码单元,并根据编码单元中两个具有公共端点的可读标记所成夹角确定编码单元标识的编码值。
上述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图15所示,描述了根据本发明的实施方式的用于编码图案识别的程序产品150,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (24)
1.一种编码图案的生成方法,包括:
获取用于解析物体表面位置的坐标信息的编码单元;
将多个编码单元呈现在所述物体表面,形成编码图案;
其中,所述编码单元中包括两个具有公共端点的可读标记,且所述两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值;
所述方法,进一步包括:
将所述可读标记划分为多个子可读标记,所述多个子可读标记至少包括位于所述可读标记两个端点处的子可读标记;
所述将多个编码单元呈现在所述物体表面,包括:
利用所述多个子可读标记呈现至少一个编码单元中的两个可读标记;
其中,利用位于所述可读标记两个端点处的子可读标记呈现所述可读标记时,所述编码单元中包含三个子可读标记,且所述三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准;或者
利用N个子可读标记呈现所述可读标记时,所述编码单元中包含2N-1个子可读标记,所述2N-1个子可读标记中包含第四子可读标记,且所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记。
2.根据权利要求1所述的方法,进一步包括:
以所述编码单元的参考位置点为旋转中心对编码单元进行旋转操作;
则所述将多个编码单元呈现在所述物体表面,包括:
将经过旋转的编码单元呈现在所述物体表面。
3.根据权利要求1所述的方法,其中,所述可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
4.一种编码图案的识别方法,包括:
采集呈现有编码图案的物体表面的目标图像;
确定所述编码图案中的编码单元,并根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值;
其中,所述编码图案中的可读标记利用多个子可读标记呈现的条件下,则在确定所述编码图案中的编码单元之前,进一步包括:
确定所述编码图案中的可读标记;
则所述确定所述编码图案中的编码单元,包括:
利用确定出的可读标记确定所述编码图案中的编码单元;
其中,
所述编码图案中的可读标记利用位于所述可读标记两个端点处的子可读标记呈现的条件下,确定所述编码图案中的可读标记,包括:在所述编码图案中选择三个子可读标记,在确定所述三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准的条件下,连接所述第一子可读标记与所述第三子可读标记生成可读标记,以及连接所述第二子可读标记与所述第三子可读标记生成可读标记;或者
所述编码图案中的可读标记利用N个子可读标记呈现的条件下,确定所述编码图案中的可读标记,包括:在所述编码图案中选择2N-1个子可读标记,在所述2N-1个子可读标记中选择第四子可读标记,若所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于所述第四子可读标记的同一方向,且与所述第四子可读标记之间的距离均符合所述第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将所述第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于所述第五子可读标记的同一方向,且与所述第五子可读标记之间的距离均符合所述第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且所述N个子可读标记中至少包括位于所述可读标记两个端点处的子可读标记。
5.根据权利要求4所述的方法,进一步包括:
确定所述编码图案中的参考线;
则确定所述编码图案中的编码单元,包括:
在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。
6.根据权利要求5所述的方法,进一步包括:
判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的所述参考线与所述边界框线平行;
则确定所述编码图案中的编码单元,包括:
在经过旋转后的目标图像中,确定所述编码图案中的编码单元。
7.根据权利要求5所述的方法,其中,所述确定所述编码图案中的参考线,包括:
在所述编码图案中确定出两个目标编码单元,并连接两个目标编码单元的参考位置点生成所述参考线。
8.根据权利要求7所述的方法,其中,所述连接两个目标编码单元的参考位置点生成所述参考线,包括:
判断确定出的两个目标编码单元之间的距离是否符合第一预设标准;
在判定两个目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个目标编码单元的参考位置点生成所述参考线。
9.根据权利要求4所述的方法,其中,所述确定所述编码图案中的编码单元,包括:
在所述编码图案中选择两个可读标记,判断所选择的两个可读标记是否有公共端点,若判断结果为是,则将所选择的两个可读标记确定为一个编码单元。
10.根据权利要求4-9中任一项所述的方法,其中,所述根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值,包括:
根据预定义的角度参考值与编码值的对应关系以及所述编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
11.一种编码图案的生成装置,包括:
获取模块,用于获取用于解析物体表面位置的坐标信息的编码单元;
呈现模块,用于将多个编码单元呈现在所述物体表面,形成编码图案;
其中,所述编码单元中包括两个具有公共端点的可读标记,且所述两个具有公共端点的可读标记所成夹角用于解析编码单元标识的编码值;
进一步包括:
子可读标记生成模块,用于将所述可读标记划分为多个子可读标记,所述多个子可读标记至少包括位于所述可读标记两个端点处的子可读标记;
所述呈现模块,具体用于:
利用所述多个子可读标记呈现至少一个编码单元中的两个可读标记;
其中,利用位于所述可读标记两个端点处的子可读标记呈现所述可读标记时,所述编码单元中包含三个子可读标记,且所述三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准;或者
利用N个子可读标记呈现所述可读标记时,所述编码单元中包含2N-1个子可读标记,所述2N-1个子可读标记中包含第四子可读标记,且所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记。
12.根据权利要求11所述的装置,进一步包括:
第一处理模块,用于以编码单元的参考位置点为旋转中心对编码单元进行旋转操作;
则所述呈现模块,具体用于:将经过旋转的编码单元呈现在所述物体表面。
13.根据权利要求11所述的装置,其中,所述呈现模块呈现的可读标记的灰度值与所述物体表面的灰度值之差的绝对值小于第一预设灰度阈值且大于第二预设灰度阈值。
14.一种编码图案的识别装置,包括:
采集模块,用于采集呈现有编码图案的物体表面的目标图像;
解析模块,用于确定所述编码图案中的编码单元,并根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值;
其中,所述编码图案中的可读标记利用多个子可读标记呈现的条件下,则所述解析模块在确定所述编码图案中的编码单元之前,还用于:确定所述编码图案中的可读标记;
则所述解析模块确定所述编码图案中的编码单元,具体用于:
利用确定出的可读标记确定所述编码图案中的编码单元;
其中,所述编码图案中的可读标记利用多个子可读标记呈现的条件下,所述解析模块确定所述编码图案中的可读标记,具体用于:
在编码图案中的可读标记利用位于所述可读标记两个端点处的子可读标记呈现的条件下,在所述编码图案中选择三个子可读标记,在确定所述三个子可读标记中第一子可读标记以及第二子可读标记与第三子可读标记之间的距离符合第二预设标准的条件下,连接所述第一子可读标记与所述第三子可读标记生成可读标记,以及连接所述第二子可读标记与所述第三子可读标记生成可读标记;或者
在编码图案中的可读标记利用N个子可读标记呈现的条件下,在所述编码图案中选择2N-1个子可读标记,在所述2N-1个子可读标记中选择第四子可读标记,若所述第四子可读标记的同一方向上存在N-1个与所述第四子可读标记之间的距离符合第三预设标准的子可读标记,则连接第四子可读标记以及位于第四子可读标记同一方向上的N-1个子可读标记生成第一可读标记,并判断剩余的N-1个子可读标记是否均位于所述第四子可读标记的同一方向,且与所述第四子可读标记之间的距离均符合所述第三预设标准,若判定结果为是,则连接第四子可读标记以及剩余的N-1个子可读标记生成第二可读标记,若判定结果为否,则将所述第一可读标记中除第四子可读标记所在端点之外的另一端点处的子可读标记作为第五子可读标记,若剩余的N-1个子可读标记均位于所述第五子可读标记的同一方向,且与所述第五子可读标记之间的距离均符合所述第三预设标准,则连接第五子可读标记以及剩余的N-1个子可读标记生成第二可读标记,其中,N为大于2的自然数,且所述N个子可读标记中至少包括位于所述可读标记两个端点处的子可读标记。
15.根据权利要求14所述的装置,进一步包括:
参考线确定模块,用于确定所述编码图案中的参考线;
则所述解析模块确定所述编码图案中的编码单元,具体用于:
在所述编码图案中确定出一个或多个编码单元之后,沿所述参考线的方向确定下一个编码单元。
16.根据权利要求15所述的装置,进一步包括:
图像处理模块,用于判断所述编码图案中的参考线与所述目标图像的边界框线是否平行,若判定结果为否,则旋转所述目标图像,使所述编码图案中的所述参考线与所述边界框线平行;
则所述解析模块确定所述编码图案中的编码单元,具体用于:
在经过旋转后的目标图像中,确定所述编码图案中的编码单元。
17.根据权利要求15所述的装置,其中,所述参考线确定模块,具体用于:
在所述编码图案中确定出两个目标编码单元,并连接两个目标编码单元的参考位置点生成所述参考线。
18.根据权利要求17所述的装置,其中,所述参考线确定模块,包括:
判断单元,用于判断确定出的两个目标编码单元之间的距离是否符合第一预设标准;
确定单元,用于在所述判断单元判定两个目标编码单元之间的距离符合所述第一预设标准的条件下,连接两个目标编码单元的参考位置点生成所述参考线。
19.根据权利要求14所述的装置,其中,所述解析模块确定所述编码图案中的编码单元,具体用于:
在所述编码图案中选择两个可读标记,判断所选择的两个可读标记是否有公共端点,若判断结果为是,则将所选择的两个可读标记确定为一个编码单元。
20.根据权利要求14-19中任一项所述的装置,其中,所述解析模块根据所述编码单元中两个具有公共端点的可读标记所成夹角确定所述编码单元标识的编码值,具体用于:
根据预定义的角度参考值与编码值的对应关系以及所述编码单元中两个具有公共端点的可读标记所成夹角,确定编码单元标识的编码值。
21.一种编码图案的生成装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行权利要求1-3中任一项所述方法的步骤。
22.一种编码图案的识别装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行权利要求4-10中任一项所述方法的步骤。
23.一种计算机可读存储介质,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1-3中任一项所述方法的步骤。
24.一种计算机可读存储介质,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求4-10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956312.9A CN106548499B (zh) | 2016-10-27 | 2016-10-27 | 一种编码图案的生成、识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956312.9A CN106548499B (zh) | 2016-10-27 | 2016-10-27 | 一种编码图案的生成、识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106548499A CN106548499A (zh) | 2017-03-29 |
CN106548499B true CN106548499B (zh) | 2020-06-16 |
Family
ID=58393562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610956312.9A Active CN106548499B (zh) | 2016-10-27 | 2016-10-27 | 一种编码图案的生成、识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106548499B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665505A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 一种基底以及基于基底的数据处理方法 |
CN107220689B (zh) * | 2017-05-27 | 2020-03-31 | 网易(杭州)网络有限公司 | 位置编码图案生成方法、装置、设备和可读存储介质 |
CN108985421B (zh) * | 2018-08-14 | 2021-05-07 | 上海掌门科技有限公司 | 编码信息的生成方法和识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101063836A (zh) * | 2006-04-28 | 2007-10-31 | 富士施乐株式会社 | 图像形成装置及电子文档管理方法 |
CN101299307A (zh) * | 2008-06-20 | 2008-11-05 | 王立国 | 具有多个条码的防伪标签及防伪条码的设置方法 |
CN102650934A (zh) * | 2012-04-01 | 2012-08-29 | 李卫伟 | 对可变数据编码图案进行印刷的方法、装置和系统 |
CN105243551A (zh) * | 2015-10-12 | 2016-01-13 | 上海应用技术学院 | 适应于商品包装的防伪点阵图形编解码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4894451B2 (ja) * | 2006-10-24 | 2012-03-14 | 富士ゼロックス株式会社 | 画像処理装置、及びプログラム |
-
2016
- 2016-10-27 CN CN201610956312.9A patent/CN106548499B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101063836A (zh) * | 2006-04-28 | 2007-10-31 | 富士施乐株式会社 | 图像形成装置及电子文档管理方法 |
CN101299307A (zh) * | 2008-06-20 | 2008-11-05 | 王立国 | 具有多个条码的防伪标签及防伪条码的设置方法 |
CN102650934A (zh) * | 2012-04-01 | 2012-08-29 | 李卫伟 | 对可变数据编码图案进行印刷的方法、装置和系统 |
CN105243551A (zh) * | 2015-10-12 | 2016-01-13 | 上海应用技术学院 | 适应于商品包装的防伪点阵图形编解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106548499A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866495A (zh) | 票据图像识别方法及装置和设备、训练方法和存储介质 | |
CN107908641B (zh) | 一种获取图片标注数据的方法和系统 | |
CN112507806B (zh) | 智慧课堂信息交互方法、装置及电子设备 | |
CN106548499B (zh) | 一种编码图案的生成、识别方法及装置 | |
CN112486338A (zh) | 医疗信息处理方法、装置及电子设备 | |
CN112668580A (zh) | 一种文本识别方法、文本识别装置及终端设备 | |
CN107220689B (zh) | 位置编码图案生成方法、装置、设备和可读存储介质 | |
CN113449702B (zh) | 遥感图像的目标检测方法、装置、存储介质及电子设备 | |
JP2017090998A (ja) | 文字認識プログラム、文字認識装置 | |
CN110796130A (zh) | 用于文字识别的方法、装置及计算机存储介质 | |
CN112486337B (zh) | 笔迹图形分析方法、装置及电子设备 | |
CN112487871B (zh) | 笔迹数据处理方法、装置及电子设备 | |
CN113516697A (zh) | 图像配准的方法、装置、电子设备及计算机可读存储介质 | |
CN113516739B (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN112487883A (zh) | 智能笔书写行为特征分析方法、装置及电子设备 | |
CN112487876A (zh) | 智能笔字符识别方法、装置及电子设备 | |
CN106570546B (zh) | 一种编码图案的生成、识别方法及装置 | |
CN112230806A (zh) | 一种基于电容触摸屏的实物识别系统及其识别方法 | |
CN110659587B (zh) | 标记物、标记物识别方法、装置、终端设备及存储介质 | |
CN111815748A (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN111723799A (zh) | 坐标定位方法、装置、设备及存储介质 | |
CN112487897B (zh) | 笔迹内容评价方法、装置及电子设备 | |
JP2024507308A (ja) | 画像サンプル生成方法、テキスト認識方法、装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN104850819A (zh) | 信息处理方法及电子设备 | |
CN112487774A (zh) | 书写表单电子化方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |