设置有二维码的物体、二维码的生成方法、识别方法及装置与流程

文档序号:15327848发布日期:2018-09-04 19:28阅读:488来源:国知局

本发明涉及信息处理技术领域,特别涉及一种设置有二维码的物体、二维码的生成方法、识别方法及装置。



背景技术:

随着信息处理技术的不断发展,二维码以其编码范围广、容错能力强、使用方式简易等特点得到了广泛的应用。QR(Quick Response,快速反应)二维码是二维码中的一种,每个QR二维码由按照n行n列排布的模块(Iodule)所形成的正方形模块阵列构成,每个模块是一个正方形的最小识别单位。

目前,二维码一共有40种版本,分别是版本1至版本40,版本1的规格是21模块*21模块,版本2的规格是25模块*25模块,版本3的规格是29模块*29模块,以此类推,每一版本比前一版本在行方向和列方向上分别增加4个模块,直到版本40,规格是177模块*177模块。

在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:

在一些场景下需要将二维码印刷至非常小的面积上,比如印刷到饮料瓶盖的内侧,但即便是版本1的二维码被印刷到饮料瓶盖内侧,也会因为印刷图案太小,而导致二维码无法正常识别。



技术实现要素:

为了解决将二维码印刷至非常小的面积上导致二维码无法正常识别的问题,本发明实施例提供了一种设置有二维码的物体、二维码的生成方法、识别方法及装置。所述技术方案如下:

第一方面,提供了一种设置有二维码的物体,所述物体上设置有二维码,所述二维码包括m模块*m模块的正方形模块阵列;所述正方形模块阵列中包括位置探测图形和数据信息图形;

所述位置探测图形用于确定所述二维码的位置;

所述数据信息图形用于携带数据;

其中,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

第二方面,提供了一种二维码的识别方法,所述方法包括:

获取包含二维码的图像;

通过所述位置探测图形识别所述二维码在所述图像中的位置;

根据所述位置确定所述二维码对应的正方形模块阵列;

当所述正方形模块阵列是m模块*m模块的正方形模块阵列时,在所述正方形模块阵列中确定出与所述m模块*m模块对应的数据信息图形;

从所述数据信息图形中解码出数据码字;

其中,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

第三方面,提供了一种二维码的生成方法,所述方法包括:

获取待编码的数据;

根据所述待编码的数据生成数据信息图形;

将所述数据信息图形和所述位置探测图形填充至正方形模块阵列;

根据填充完毕的所述正方形模块阵列,生成二维码;

其中,所述正方形模块阵列包括m模块*m模块;所述位置探测图形用于确定所述二维码的位置,所述数据信息图形用于携带所述数据,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

第四方面,提供了一种二维码的识别装置,所述装置包括:

图像获取单元,用于获取包含二维码的图像;

位置识别单元,用于通过所述位置探测图形识别所述二维码在所述图像中的位置;

第一确定单元,用于根据所述位置确定所述二维码对应的正方形模块阵列;

第二确定单元,用于当所述正方形模块阵列是m模块*m模块的正方形模块阵列时,在所述正方形模块阵列中确定出与所述m模块*m模块对应的数据信息图形;

数据解码单元,用于从所述数据信息图形中解码出数据;

其中,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

第五方面,提供了一种二维码的生成装置,所述装置包括:

数据获取单元,用于获取待编码的数据;

第一生成单元,用于根据所述待编码的数据生成数据信息图形;

第一填充单元,用于将所述数据信息图形和所述位置探测图形填充至正方形模块阵列;

第二生成单元,用于根据填充完毕的所述正方形模块阵列,生成二维码;

其中,所述正方形模块阵列包括m模块*m模块;所述位置探测图形用于确定所述二维码的位置,所述数据信息图形用于携带所述数据,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

第六方面,提供了一种二维码,所述二维码包括m模块*m模块的正方形模块阵列;所述正方形模块阵列中包括位置探测图形和数据信息图形;

所述位置探测图形用于确定所述二维码的位置;

所述数据信息图形用于携带数据;

其中,每个所述模块为第一类型模块或第二类型模块,所述第一类型模块的颜色属性不同于所述第二类型模块的颜色属性,m=17或18或19或20。

本发明实施例提供的技术方案至少具有如下有益效果:

通过提供微型的二维码,该微型的二维码具有m模块*m模块的正方形模块阵列,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

附图说明

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

图1A是本发明一个实施例提供的设置有二维码的物体的结构示意图;

图1B是本发明另一个实施例提供的设置有二维码的物体的结构示意图;

图1C是本发明又一个实施例提供的设置有二维码的物体的结构示意图;

图1D是本发明再一个实施例提供的设置有二维码的物体的结构示意图;

图2是本发明另一个实施例提供的二维码的结构示意图;

图3是本发明又一实施例提供的二维码的的结构示意图;

图4是本发明一个实施例提供的二维码的识别方法的方法流程图;

图5是本发明另一实施例提供的二维码的识别方法的方法流程图;

图6是本发明一个实施例提供的二维码的生成方法的方法流程图;

图7是本发明另一实施例提供的二维码的生成方法的方法流程图;

图8是本发明一个实施例提供的二维码的生成方法的原理示意图;

图9是本发明再一实施例提供的二维码的生成方法的方法流程图;

图10是本发明又一实施例提供的二维码的生成方法的方法流程图;

图11是本发明一个实施例提供的二维码的识别装置的结构示意图;

图12是本发明另一个实施例提供的二维码的识别装置的结构示意图;

图13是本发明一个实施例提供的二维码的生成装置的结构示意图;

图14是本发明另一个实施例提供的二维码的生成装置的结构示意图;

图15是本发明再一个实施例提供的二维码的生成装置的结构示意图;

图16是本发明又一个实施例提供的二维码的生成装置的结构示意图;

图17是本发明一个实施例提供的终端的结构方框图;

图18是本发明一个实施例提供的服务器的结构方框图;

图19是本发明一个实施例提供的二维码的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1A、图1B、图1C和图1D,其示出了本发明一个实施例提供的设置有二维码的物体的结构示意图。该物体10上设置有二维码100,该二维码100包括m模块*m模块的正方形模块阵列,该正方形模块阵列中包括位置探测图形101和数据信息图形102。

该物体10可以是饮料瓶盖、按钮、把手等,本实施例对物体10的形式不加以限定。

其中,m的取值小于21,本实施例对m的取值不加以限定。可选的,m=19,如图1A所示;可选的,m=17,如图1B所示;可选的,m=18,如图1C所示;可选的,m=20,如图1D所示。

位置探测图形101,用于确定二维码的位置。可选的,该位置探测图形101包括三个相同的位置探测图形,三个位置探测图形分别分布在二维码的左上角、右上角和左下角。

数据信息图形102,用于携带数据。该数据信息图形102见图1A至图1D中斜线框所示出的阴影部分。

其中,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。模块是二维码中的最小识别单位。可选的,模块是一个正方块。

可选的,第一类型模块是深色模块,表示二进制1;第二类型模块是浅色模块,表示二进制0。

通常情况下,第一类型模块的颜色属性为黑色,第二类型模块的颜色属性为白色。本实施例不对模块的颜色属性进行限定。需要说明的是,在不同的实施例中,正方形模块阵列还可以称之为正方形阵列、矩阵阵列、正方形矩阵或正方形矩阵阵列。

综上所述,本实施例提供的物体,通过设置有微型的二维码,该微型的二维码具有m模块*m模块的正方形模块阵列,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

需要说明的是,本实施例对该物体的具体类型不加以限定。微型的二维码以喷墨印刷、粘贴、激光打印、电子显示等形式设置在物体的可视位置上,本实施例对微型的二维码在该物体上的设置形式不加以限定。

为了对该二维码的结构进行更详细的示意,下述实施例均以具有19模块*19模块的正方形模块阵列的二维码为例,采用图2至图4实施例进行阐述。

请参考图2,其示出了本发明另一个实施例提供的二维码的结构示意图。该二维码包括m模块*m模块的正方形模块阵列200,该正方形模块阵列200包括:位置探测图形(英文:Position Detection Pattern)201、数据信息图形202、格式信息(英文:Foriat Inforiation)203和位置探测图形分割符(英文:Separators for Position Detection Patterns)204。

位置探测图形201包括:第一位置探测图形201a、第二位置探测图形201b和第三位置探测图形201c。

设正方形模块阵列200包括19个行,编号从上到下为0至18;还包括19个列,编号从左到右为0至18,如图2所示。需要说明的是,图2中的编号仅用于辅助理解,不属于二维码本身所包括的内容。

第一位置探测图形201a占用位于正方形模块阵列200中的行坐标为0至6且列坐标为0至6的7模块*7模块。

第二位置探测图形201b占用位于正方形模块阵列200中的行坐标为0至6且列坐标为12至18的7模块*7模块。

第三位置探测图形201c占用位于正方形模块阵列200中的行坐标为12至18且列坐标为0至6的7模块*7模块。

可选的,每个位置探测图形201视为由3个重叠的同心的正方形阵列组成,其中,位于最下层的为7模块*7模块的正方形模块阵列,每个模块为第一类型模块,也即深色模块;位于中间层的为5模块*5模块的正方形模块阵列,每个模块为第二类型模块,也即浅色模块;位于最上层的为3模块*3模块的正方形模块阵列,每个模块为第一类型模块,也即深色模块。

可选的,每个位置探测图形201视为由一个7模块*7模块的正方形方框、一个5模块*5模块的正方形方框和一个3模块*3模块的正方形模块阵列组成,三者之间嵌套相邻且互不重叠。其中,7模块*7模块的正方形方框中,每个模块为第一类型模块,也即深色模块;5模块*5模块的正方形方框中,每个模块为第二类型模块,也即浅色模块;3模块*3模块的正方形模块阵列中,每个模块为第一类型模块,也即深色模块。

数据信息图形202用于携带数据。可选的,数据信息图形202携带有16个数据块;每个数据块占用正方形模块阵列200中的8个模块;存在至少一个数据块占用的8个模块是正方形模块阵列200中相邻的8个模块。比如,图中的数据块D1占用了位于右下角的相邻的8个模块。

可选的,在提供有自动纠错功能时,数据信息图形202所携带的数据包括:数据码字(英文:Data Code)和与数据对应的纠错码字(英文:Error Correction Code)。该纠错码字用于实现对数据的自动纠错。

正方形模块阵列200中还包括:格式信息203,用于指示数据在编码时的格式信息;该格式信息203占用正方形模块阵列200中的30个模块,分别是行坐标为8且列坐标为0至5的6个模块、行坐标为8且列坐标为7至8的2个模块、列坐标为8且行坐标为0至5的6个模块、列坐标为8且行坐标为7的1个模块、行坐标为8且列坐标为11至18的8个模块和列坐标为8且行坐标为12至18的7个模块,如图2中的斜线阴影部分所示。

可选的,格式信息203携带有纠错码字所对应的纠错级别;其中,纠错级别包括:L纠错级别、I纠错级别、Q纠错级别和H纠错级别。

其中,L纠错级别,是指近似7%的数据可以被修正;I纠错级别,是指近似15%的数据可以被修正;Q纠错级别,是指近似25%的数据可以被修正;H纠错级别,是指近似30%的数据可以被修正。该数据也可以称为字码。

可选的,在L纠错级别下,纠错码字占用5个数据块;在I纠错级别下,纠错码字占用6个数据块;在Q纠错级别下,纠错码字占用7个数据块;在H纠错级别下,纠错码字占用8个数据块。

可选的,在H纠错级别下,数据可以最多占用9个数据块;在Q纠错级别下,数据可以最多占用10个数据块;在I纠错级别下,数据可以最多占用12个数据块;在L纠错级别下,数据可以最多占用13个数据块。

在本实施例中,图2以在H纠错级别下为例,数据信息图形202所携带的数据占用16个数据块,其中,数据占用8个数据块,与数字对应的纠错码字占用8个数据块。

可选的,数据占用D1、D2、D3、D4、D5、D6、D7、D8这8个第一数据块,其中D1数据块占用行坐标为17至18且列坐标为15至18的8个模块,D2数据块占用行坐标为13至16且列坐标为17至18的8个模块,D3数据块占用行坐标为9至12且列坐标为17至18的8个模块,D4数据块占用行坐标为9至12且列坐标为15至16的8个模块,D5数据块占用行坐标为13至16且列坐标为15至16的8个模块,D6数据块占用行坐标为17至18且列坐标为11至14的8个模块,D7数据块占用行坐标为13至16且列坐标为13至14的8个模块,D8数据块占用行坐标为9至12且列坐标为13至14的8个模块。

可选的,纠错码字占用E1、E2、E3、E4、E5、E6、E7、E8这8个第二数据块,其中E1数据块占用行坐标为9至12且列坐标为11至12的8个模块,E2数据块占用行坐标为13至16且列坐标为11至12的8个模块,E3数据块占用行坐标为15至18且列坐标为9至10的8个模块,E4数据块占用行坐标为11至14且列坐标为9至10的8个模块,E5数据块占用行坐标为9至10且列坐标为7至10的8个模块,E6数据块占用行坐标为4至5且列坐标为9至10的4个模块和行坐标为7至8且列坐标为9至10的4个模块,E7数据块占用行坐标为0至3且列坐标为9至10的8个模块,E8数据块占用行坐标为9至10且列坐标为2至5的8个模块。

可选的,该正方形模块阵列200中还包括:位置探测图形分割符204,该位置探测图形分割符204用于将位置探测图形201与格式信息203分隔,或,将位置探测图形201与数据信息图形202分隔。该位置探测图形分割符204通常全部为第二类型模块,也即浅色模块。

另外,正方形模块阵列200还包括定位图形(英文:Tiiing Patterns)205,定位图形205用于防止二维码旋转、倒置。定位图形205占用六个模块,分别是位于第6行第8列的深色(黑色)模块、第6行第9列的浅色(白色)模块、第6行第10列的深色(黑色)模块、第8行第6列的深色(黑色)模块、第9行第6列的浅色(白色)模块和第10行第6列的深色(黑色)模块。

在本实施例中,对16个数据块按照数据码字和纠错码字划分为8个第一数据块和8个第二数据块是一种示意性的划分方法,本实施例对数据码字和与数据对应的纠错码字的数据块划分形式不进行限定。

在印刷二维码时,主要有两种途径:一是喷墨,二是激光打印。在一些场景下需要将二维码印刷至非常小的面积上,比如印刷到饮料瓶盖的内侧,优先使用激光打印方式。由于二维码包括:深色(黑色)模块和浅色(白色)模块,激光打印的效率与浅色模块的数目成反比。图2所示出的二维码平均有230个浅色模块,浅色模块的数目太多,从而导致印刷的生产效率降低。

请参考图3,在基于图2所示实施例提供的更为优选的实施例中,对位置探测图形分割符204中的浅色模块进行减少。

具体的,位置探测图形分隔符204在正方形模块阵列200占用的i(=45)个模块中,存在至少一个模块是第一类型模块,也即深色模块。

可选的,位置探测图形分隔符204包括第一位置探测图形分隔符204a、第二位置探测图形分隔符204b和第三位置探测图形分隔符204c。

第一位置探测图形分隔符204a占用位于正方形模块阵列200中的15个模块,分别为行坐标为0至7且列坐标为7的8个模块,和,行坐标为7且列坐标为0至6的7个模块;

第二位置探测图形分隔符204b占用位于正方形模块阵列200中的15个模块,分别为行坐标为0至7且列坐标为11的8个模块和行坐标为7且列坐标为12至18的7个模块;

第三位置探测图形分隔符204c占用位于正方形模块阵列200中的15个模块,分别为行坐标为11至18且列坐标为7的8个模块和行坐标为11且列坐标为0至6的7个模块;

其中,位于第0行第7列、第0行第17列、第1行第7列、第1行第11列、第5行第7列、第5行第11列、第6行第7列、第6行第11列、第7行第0列、第7行第1列、第7行第5列、第7行第6列、第7行第12列、第7行第13列、第7行第17列、第7行第18列、第11行第0列、第11行第1列、第11行第5列、第11行第6列、第12行第7列、第13行第7列、第17行第7列、第18行第7列的24个模块中的至少一个模块是第一类型模块,也即深色(黑色)模块。

综上所述,本实施例通过将位置探测图形分隔符占用的i个模块中至少一个模块设置为深色模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

请参考图4,其示出了本发明一个实施例提供的二维码的识别方法的方法流程图。该二维码的识别方法可以用于对图1至图3所示出的二维码进行识别。该二维码的识别方法可以由终端或服务器来执行。该二维码的识别方法,包括:

步骤401,获取包含二维码的图像;

步骤402,通过位置探测图形识别二维码在图像中的位置;

步骤403,根据该位置确定二维码对应的正方形模块阵列;

步骤404,当正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形;

步骤405,从数据信息图形中解码出数据。

其中,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。

可选的,除m模块*m模块的正方形模块阵列之外,该二维码中还可以包括文字、图标和视频,该文字、图标和视频覆盖了二维码中的局部区域(比如中间区域)。本实施例不对二维码的可视内容进行限定。

综上所述,本实施例提供的二维码的识别方法,通过当正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

请参考图5,其示出了本发明另一实施例提供的二维码的识别方法的流程图。本实施例为基于图4所示实施例提供的更为优选的实施例。该二维码的识别方法,包括:

步骤501,获取包含二维码的图像;

可选的,终端获取包含二维码的图像的具体方法包括:将包含二维码的图像放入识别框内、或者从相册中选取包含二维码的图像、或者长按包含二维码的图像。

可选的,终端在获取到包含二维码的图像之后,将设置有二维码的图像进行二值化;其中,二值化是一种图像处理方式,将灰阶大于阈值的像素点变为黑色像素点,将灰阶小于阈值的像素点变为白色像素点。经过二值化处理的图像,会将正方形模块阵列中第一类型模块统一化为黑色模块,且将第二类型模块统一化为白色模块。

步骤502,在二维码中识别出n个候选的位置探测图形,n≥3;

可选的,终端在图像中从上到下进行逐行扫描,或者,在图像中从左到右进行逐列扫描。

当扫描到属于同一行(或同一列)中存在相邻的7个模块依次是:黑色模块、白色模块、黑色模块、黑色模块、黑色模块、白色模块和黑色模块,且黑色模块:白色模块:黑色模块:白色模块:黑色模块的数目比例为1:1:3:1:1时,则以比例为3的黑色模块定位出一个候选的位置探测图形。

当图像中的所有行均扫描完毕后,得到n个候选的位置探测图形。

步骤503,从n个候选的位置探测图形中确定出第一位置探测图形、第二位置探测图形和第三位置探测图形;

在一种可能的实现方式中,终端按照每个候选的位置探测图形与参考位置探测图形的匹配度由高到低的顺序进行排序;从排序在前3位的位置探测图形中确定出第一位置探测图形、第二位置探测图形和第三位置探测图形。可选的,该匹配度是候选的位置探测图形与标准位置探测图形的匹配度,由终端在扫描过程中确定。

在另一种可能的实现方式中,终端将每三个候选的位置探测图形的中心进行连线得到对应的三角形;确定与等腰直角三角形的相似度最高且最长边最长的三角形;从与三角形对应的三个候选的位置探测图形中,确定出第一位置探测图形、第二位置探测图形和第三位置探测图形。

步骤504,以第一位置探测图形为左上角、第二位置探测图形为右上角、第三位置探测图形为左下角确定二维码在图像中的位置。

由于二维码在图像中的位置可能会旋转、倾斜、放大、缩小、扭曲和颠倒,终端通过第一位置探测图形、第二位置探测图形和第三位置探测图形能够对二维码在图像中的位置进行定位。

步骤505,根据位置确定二维码对应的正方形模块阵列;

可选的,终端根据二维码在图像中的位置进行透视变换;将二维码投影到一个固定尺寸的矩阵上,从而得到与该二维码对应的正方形模块阵列的正视图。

步骤506,根据第一位置探测图形和第二位置探测图形之间的距离、第一位置探测图形或第二位置探测图形的宽度确定正方形模块阵列是否为m模块*m模块的正方形模块阵列;

可选的,由于第一位置探测图形或第二位置探测图形的宽度为7个模块,终端根据第一位置探测图形和第二位置探测图形之间的距离、第一位置探测图形或第二位置探测图形的宽度能够确定正方形模块阵列的类型。

当第一位置探测图形和第二位置探测图形之间的距离为5个模块,第一位置探测图形或第二位置探测图形的宽度为7个模块时,确定正方形模块阵列为m模块*m模块的正方形模块阵列。

作为可替代的实现方式,终端根据第一位置探测图形和第三位置探测图形之间的距离、第一位置探测图形或第三位置探测图形的宽度确定正方形模块阵列是否为m模块*m模块的正方形模块阵列。当第一位置探测图形和第三位置探测图形之间的距离为5个模块,第一位置探测图形或第三位置探测图形的宽度为7个模块时,确定正方形模块阵列为m模块*m模块的正方形模块阵列。

可选的,当正方形模块阵列是21模块*21模块、25模块*25模块、29模块*29模块等类型时,根据二维码的版本1至版本40所对应的识别方式进行识别。

步骤507,当正方形模块阵列为m模块*m模块的正方形模块阵列时,根据与m模块×m模块对应的编码格式信息确定数据信息图形。

可选的,终端预先存储有m模块*m模块的正方形模块阵列的编码格式信息,当正方形模块阵列为m模块*m模块的正方形模块阵列时,使用与m模块*m模块对应的编码格式信息确定数据信息图形。

步骤508,读取正方形模块阵列中的格式信息;

步骤509,从格式信息中获取纠错码字对应的纠错级别,纠错级别包括:L纠错级别、I纠错级别、Q纠错级别和H纠错级别;

步骤510,根据纠错级别确定数据信息图形中的数据码字占用的第一组数据块和纠错码字占用的第二组数据块;

步骤511,从第一组数据块中解码出数据码字,从第二组数据块中解码出纠错码字;

步骤512,使用纠错码字对数据进行纠错;

可选的,当二维码对应的正方形模块阵列有残缺部分、正方形模块阵列中存在图标、文本或其它干扰信息时,可以使用纠错码字对数据进行纠错。

需要说明的是,纠错码字可以纠正两种类型的错误,拒读错误和替代错误。其中,一个拒读错误是指在错误数据的位置已知的情况下,一个没扫描到或无法译码的数据;而一个替代错误是在错误数据的位置未知的情况下,错误译码的数据。例如,当一个缺陷使深色模块变成浅色模块、或将浅色模块变成深色模块时,即将数据错误地译码为表面上有效、但却是另一个不同的数据时,这种数据替代错误需要两个纠错码字来纠正。

在可选的实现方式中,终端从二维码中解码得到的数据是第一数据信息,该第一数据信息是第二数据信息的标识(或索引),第二数据信息是具有实际意义的信息。比如,第二数据信息包括:URL(Unifori Resource Locator,统一资源标识符)、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

该第一数据信息具有第一字节长度,第二数据信息具有第二字节长度,第一字节长度小于第二字节长度。示意性的,该第一字节长度是72,也即9个字符;第二字节长度的长度不限制。

步骤513,向服务器发送第一数据信息;

当终端需要获知该第一数据信息所对应的第二数据信息时,终端向服务器发送第一数据信息。

服务器中存储有第一数据信息和第二数据信息之间的预设对应关系。

可选的,该预设对应关系是预先存储的。比如,第一数据信息是通过对第二数据信息进行哈希计算得到的信息,然后服务器将第一数据信息和第二数据信息存储至预设对应关系;又比如,服务器中预设有第一数据信息库,第一数据信息库中包括未使用的第一数据信息,当存在第二数据信息时,服务器会从第一数据信息库中,分配与该第二数据信息对应的第一数据信息。

可选的,该预设对应关系是根据某种算法所实时计算的。比如:服务器根据抽奖算法,实时计算与第一数据信息所对应的第二数据信息,该第二数据信息是与抽奖结果对应的抽奖结果页面。

服务器接收终端发送的第一数据信息,在预设对应关系中查询与第一数据信息所对应的第二数据信息,向终端发送该第二数据信息。

步骤514,接收服务器反馈的第二数据信息,第二数据信息是服务器在预设对应关系中查询得到的,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

步骤515,对反馈的第二数据信息进行处理。

可选的,当第二数据信息是URL时,跳转至与URL所对应的网页页面;

可选的,当第二数据信息是图像信息时,显示与图像信息所对应的内容;

可选的,当第二数据信息是音频信息时,播放与音频信息所对应的内容;

可选的,当第二数据信息是文本信息时,显示与文本信息所对应的内容;

可选的,当第二数据信息是视频信息时,播放与视频信息所对应的内容;

可选的,当第二数据信息是抽奖结果时,显示抽奖结果。

需要说明的是,上述步骤由终端来完成。

可选的,上述步骤也可以由服务器来完成,本实施例对此不加以限制。

综上所述,本实施例提供的二维码的识别方法,通过当正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;解决了数据信息所具有的字节长度太长导致无法生成数据信息图形的问题;达到了即使第二数据信息所具有的第二字节长度很长,也能够生成该二维码的效果,该二维码的面积要比常规的二维码小很多,但使用范围与常规的二维码的使用范围并无明显差异。

本实施例提供的二维码的识别方法,还通过终端将每三个候选的位置探测图形的中心进行连线得到对应的三角形;确定与等腰直角三角形的相似度最高且最长边最长的三角形;从与三角形对应的三个候选的位置探测图形中,确定出第一位置探测图形、第二位置探测图形和第三位置探测图形,充分利用三个位置探测图形形成等腰直角三角形的特点,从多组的位置探测图形中精确地确定出三个位置探测图形,从而提高二维码的识别准确性。

请参考图6,其示出了本发明一个实施例提供的二维码的生成方法的方法流程图。该二维码的生成方法可以由终端或服务器来执行。该二维码的生成方法,包括:

步骤601,获取待编码的数据;

步骤602,根据待编码的数据生成数据信息图形;

步骤603,将数据信息图形和位置探测图形填充至正方形模块阵列;

步骤604,根据填充完毕的正方形模块阵列,生成二维码。

其中,正方形模块阵列包括m模块*m模块;位置探测图形用于确定二维码的位置,数据信息图形用于携带数据,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。

综上所述,本实施例提供的二维码的生成方法,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

请参考图7,其示出了本发明另一实施例提供的二维码的生成方法的方法流程图。本实施例为基于图6所示实施例提供的更为优选的实施例。该生成方法,包括:

步骤701,获取待编码的数据;

可选的,服务器确定待编码的数据所对应的字符类型,按照与该字符类型相应的字符集对数据进行编码。

可选的,编码字符集是包括含数字型数据、字母数字型数据、8位字节型数据或中国汉字字符的字符集。

以字母数字型字符集为例,字母数字型数据包括数字0~9、大写字母A~Z和9个其他字符这45个字符,如下表一所示。

表一

步骤702,确定纠错级别,纠错级别包括:L纠错级别、I纠错级别、Q纠错级别和H纠错级别;

可选的,服务器读取默认的纠错级别,将默认的纠错级别确定为本次所需要使用的纠错级别。

可选的,服务器保存有数据类型与纠错级别的对应关系。比如:当数据类型为网址时,采用第一纠错级别;当数据类型为头像时,采用第二纠错级别。服务器根据本次编码的数据的数据类型,在该对应关系中确定出对应的纠错级别。

步骤703,根据纠错级别将数据码字生成第一组数据块;

可选的,在服务器确定纠错级别后,按照字符集对数据码字进行数据编码。其中,数据编码是将数据码字转换为二进制位流,将产生的二进制位流按照8比特一组划分为若干个数据块。

步骤704,根据生成的第一组数据块生成与第一组数据块对应的纠错码字;

可选的,纠错算法是Reed-Soloion error correction(里德-所罗门纠错算法)。

步骤705,根据纠错码字生成第二组数据块;

步骤706,根据第一组数据块和第二组数据块生成数据信息图形,数据信息图形携带有16个数据块;

可选的,以在H纠错级别下为例,数据信息图形所携带的数据占用16个数据块,第一组数据块占用8个数据块,第二组数据块占用8个数据块,每个数据块占用正方形模块阵列中的8个模块,存在至少一个数据块占用的8个模块是正方形模块阵列中相邻的8个模块。

需要说明的是,在m模块*m模块的正方形模块阵列中,存在4个剩余位。其中,剩余位是用来添加在最终的二进制位流中,以正好填满数据信息图形的模块数。

步骤707,将数据信息图形和位置探测图形填充至正方形模块阵列;

可选的,服务器中存在m模块*m模块的空白的正方形模块阵列。

可选的,服务器将数据信息图形和位置探测图形填充至空白的正方形模块阵列中的对应位置。

步骤708,生成位置探测图形分隔符,位置探测图形分隔符用于将位置探测图形与格式信息分隔,或,将位置探测图形与数据信息图形分隔;

可选的,位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,也即深色模块。

步骤709,将位置探测图形分隔符填充至正方形模块阵列;

可选的,在位置探测图形分隔符中,位于第0行第7列、第0行第17列、第1行第7列、第1行第11列、第5行第7列、第5行第11列、第6行第7列、第6行第11列、第7行第0列、第7行第1列、第7行第5列、第7行第6列、第7行第12列、第7行第13列、第7行第17列、第7行第18列、第11行第0列、第11行第1列、第11行第5列、第11行第6列、第12行第7列、第13行第7列、第17行第7列、第18行第7列的24个模块中的至少一个模块是第一类型模块,也即深色(黑色)模块。

步骤710,根据纠错级别生成格式信息;

步骤711,将格式信息填充至正方形模块阵列;

需要说明的是,步骤707、步骤709、步骤711可以同时执行或者按照先后次序执行。本发明对执行这三个步骤的先后次序不进行限定。结合参考图8,将数据信息图形、位置探测图形、位置探测图形分隔符、格式信息填充至正方形模块阵列。

步骤712,根据填充完毕的正方形模块阵列,生成二维码。

综上所述,本实施例提供的二维码的生成方法,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

请参考图9,其示出了本发明再一实施例提供的二维码的生成方法的方法流程图。本实施例为基于图7所示实施例提供的可选的实施例。该生成方法在步骤701之前,还包括:

步骤901,获取第二数据信息;

可选的,第二数据信息是具有实际意义的信息。第二数据信息包括:URL、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

步骤902,生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

该第一数据信息是第二数据信息的标识(或索引),第二数据信息是具有实际意义的信息。该第一数据信息具有第一字节长度,第二数据信息具有第二字节长度,第一字节长度小于第二字节长度。示意性的,该第一字节长度是72,也即9个字符;第二字节长度的长度不限制。

可选的,服务器对第二数据信息进行哈希计算得到第一数据信息。也即,该第一数据信息是第二数据信息的哈希值。

比如,第二数据信息是“http://iteycunl.coi/topic/577820”,进行哈希计算后得到的第一数据信息是“652384914”。

可选的,服务器中预设有第一数据信息库,第一数据信息库中包括未使用的第一数据信息。当存在第二数据信息时,服务器会从第一数据信息库中,分配与该第二数据信息对应的第一数据信息。

又比如,第一数据信息是信息标识,第二数据信息是URL。服务器中预设有信息标识库(第一数据信息库),该信息标识库中存在1000个未使用的信息标识,当获取到一个新的URL时,服务器从信息标识库中分配一个与该URL所对应的信息标识。

步骤903,根据第一数据信息和第二数据信息,得到预设对应关系;预设对应关系包括第一数据信息与第二数据信息的对应关系;

服务器将第一数据信息和第二数据信息存储至预设对应关系中。

可选的,服务器将第一数据信息确定为待编码的数据,进入步骤701。

综上所述,本实施例提供的二维码的生成方法,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

本实施例还通过生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;解决了数据信息所具有的字节长度太长导致无法生成数据信息图形的问题;达到了即使第二数据信息所具有的第二字节长度很长,也能够生成该二维码的效果,该二维码的面积要比常规的二维码小很多,但使用范围与常规的二维码的使用范围并无明显差异。

需要说明的是,上述实施例以上述步骤由服务器来完成来举例说明。在再一个可能的实施例中,上述步骤由终端来完成。此时,步骤901、步骤902、步骤903可以被替代实现为步骤1001、步骤1002,如图10所示:

步骤1001,向服务器发送第二数据信息;

可选的,第二数据信息是具有实际意义的信息。第二数据信息包括:URL、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

步骤1002,接收服务器反馈的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

该第一数据信息是第二数据信息的标识(或索引),第二数据信息是具有实际意义的信息。该第一数据信息具有第一字节长度,第二数据信息具有第二字节长度,第一字节长度小于第二字节长度。示意性的,该第一字节长度是72,也即9个字符;第二字节长度的长度不限制。

可选的,服务器对第二数据信息进行哈希计算得到第一数据信息。也即,该第一数据信息是第二数据信息的哈希值。

比如,第二数据信息是“http://iteycunl.coi/topic/577820”,进行哈希计算后得到的第一数据信息是“652384914”。

可选的,服务器中预设有第一数据信息库,第一数据信息库中包括未使用的第一数据信息。当存在第二数据信息时,服务器会从第一数据信息库中,分配与该第二数据信息对应的第一数据信息。

又比如,第一数据信息是信息标识,第二数据信息是URL。服务器中预设有信息标识库(第一数据信息库),该信息标识库中存在1000个未使用的信息标识,当获取到一个新的URL时,服务器从信息标识库中分配一个与该URL所对应的信息标识。

可选的,终端将第一数据信息确定为待编码的数据,进入步骤701。

综上所述,本实施例提供的二维码的生成方法,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

本实施例还通过接收服务器反馈的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;解决了待编码的数据所具有的字节长度太长导致无法生成数据信息图形的问题;达到了在不影响二维码的正常识别的前提下,缩短待编码的数据的字节长度的效果。

下面为本发明中的装置实施例,对于装置实施例中未详尽描述的细节,可以结合参考上述一一对应的方法实施例。

请参考图11,其示出了本发明一个实施例提供的二维码的识别装置的结构示意图。该装置包括:

图像获取单元1110,用于获取包含二维码的图像;

位置识别单元1120,用于通过位置探测图形识别二维码在图像中的位置;

第一确定单元1130,用于根据位置确定二维码对应的正方形模块阵列;

第二确定单元1140,用于当正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形;

数据解码单元1150,用于从数据信息图形中解码出数据;

其中,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。

综上所述,本实施例提供的二维码的识别装置,通过当正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

请参考图12,其示出了本发明另一个实施例提供的二维码的识别装置的结构示意图。本实施例为基于图11所示实施例提供的更为优选的实施例。位置识别单元1120包括:

第一识别子单元1122、第一确定子单元1124和第二确定子单元1126;

第一识别子单元1122,用于在二维码中识别出n个候选的位置探测图形,n≥3;

第一确定子单元1124,用于从n个候选的位置探测图形中确定出第一位置探测图形、第二位置探测图形和第三位置探测图形;

第二确定子单元1126,用于以第一位置探测图形为左上角、第二位置探测图形为右上角、第三位置探测图形为左下角确定二维码在图像中的位置。

第一确定子单元1124,用于按照每个候选的位置探测图形与参考位置探测图形的匹配度由高到低的顺序进行排序;从排序在前3位的位置探测图形中确定出第一位置探测图形、第二位置探测图形和第三位置探测图形;

或,

第一确定子单元1124,用于将每三个候选的位置探测图形的中心进行连线得到对应的三角形;确定与等腰直角三角形的相似度最高且最长边最长的三角形;从与三角形对应的三个候选的位置探测图形中,确定出第一位置探测图形、第二位置探测图形和第三位置探测图形。

第二确定单元1140,包括:

第三确定子单元1142和第四确定子单元1144;

第三确定子单元1142,用于根据第一位置探测图形和第二位置探测图形之间的距离、第一位置探测图形或第二位置探测图形的宽度确定正方形模块阵列是否为m模块*m模块的正方形模块阵列;

第四确定子单元1144,用于当正方形模块阵列为m模块*m模块的正方形模块阵列时,根据与m模块*m模块对应的编码格式信息确定数据信息图形。

数据解码单元1150包括:

读取子单元1151、获取子单元1152、第五确定子单元1153、解码子单元1154和纠错子单元1155;

读取子单元1151,用于读取正方形模块阵列中的格式信息;

获取子单元1152,用于从格式信息中获取纠错码字对应的纠错级别,纠错级别包括:L纠错级别、I纠错级别、Q纠错级别和H纠错级别;

第五确定子单元1153,用于根据纠错级别确定数据信息图形中的数据码字占用的第一组数据块和纠错码字占用的第二组数据块;

解码子单元1154,用于从第一组数据块中解码出数据码字,从第二组数据块中解码出纠错码字;

纠错子单元1155,用于使用纠错码字对数据进行纠错。

正方形模块阵列中还包括:

位置探测图形分隔符,用于将位置探测图形与格式信息分隔,或,将位置探测图形与数据信息图形分隔;

位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块;

其中,格式信息用于指示数据在编码时的格式信息。

该装置还包括:第一发送单元1160和第一接收单元1170;

第一发送单元1160,用于向服务器发送第一数据信息;

第一接收单元1170,用于接收服务器反馈的第二数据信息,第二数据信息是服务器在预设对应关系中查询得到的,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

其中,第二数据信息包括:统一资源标识符URL、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

可选的,第一数据信息是通过对第二数据信息进行哈希计算得到的。

可选的,第一数据信息是从第一数据信息库中为第二数据信息进行分配得到的,第一数据信息库中包括未使用的第一数据信息。

该装置还包括:

处理单元1180,用于当第二数据信息是图像信息时,显示与图像信息所对应的内容;或,

用于当第二数据信息是音频信息时,播放与音频信息所对应的内容;或,

用于当第二数据信息是文本信息时,显示与文本信息所对应的内容;或,

用于当第二数据信息是视频信息时,播放与视频信息所对应的内容;

用于当第二数据信息是抽奖结果时,显示抽奖结果。

综上所述,本实施例提供的二维码的识别装置,通过正方形模块阵列是m模块*m模块的正方形模块阵列时,在正方形模块阵列中确定出与m模块*m模块对应的数据信息图形,,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

请参考图13,其示出了本发明一个实施例提供的二维码的生成装置的结构示意图。该装置包括:

数据获取单元1310,用于获取待编码的数据;

第一生成单元1320,用于根据待编码的数据生成数据信息图形;

第一填充单元1330,用于将数据信息图形和位置探测图形填充至正方形模块阵列;

第二生成单元1340,用于根据填充完毕的正方形模块阵列,生成二维码;

其中,正方形模块阵列包括m模块*m模块;位置探测图形用于确定二维码的位置,数据信息图形用于携带数据,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。

综上所述,本实施例提供的二维码的生成装置,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

请参考图14,其示出了本发明另一个实施例提供的二维码的生成装置的结构示意图。本实施例为基于图13所示实施例提供的更为优选的实施例。第一生成单元1320,包括:

第六确定子单元1321、第一生成子单元1322、第二生成子单元1323、第三生成子单元1324和第四生成子单元1325;

第六确定子单元1321,用于确定纠错级别,纠错级别包括:L纠错级别、I纠错级别、Q纠错级别和H纠错级别;

第一生成子单元1322,用于根据纠错级别将数据生成第一组数据块;

第二生成子单元1323,用于根据生成的第一组数据块生成与第一组数据块对应的纠错码字;

第三生成子单元1324,用于根据纠错码字生成第二组数据块;

第四生成子单元1325,用于根据第一组数据块和第二组数据块生成数据信息图形,数据信息图形携带有16个数据块;

该生成装置,还包括:

第三生成单元1350和第二填充单元1360;

第三生成单元1350,用于根据纠错级别生成格式信息;

第二填充单元1360,用于将格式信息填充至正方形模块阵列。

该生成装置,还包括:

第四生成单元1370和第三填充单元1380;

第四生成单元1370,用于生成位置探测图形分隔符,位置探测图形分隔符用于将位置探测图形与格式信息分隔,或,将位置探测图形与数据信息图形分隔;

第三填充单元1380,用于将位置探测图形分隔符填充至正方形模块阵列;

其中,位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块;格式信息用于指示数据在编码时的格式信息。

综上所述,本实施例提供的二维码的生成装置,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

本实施例还通过终端将每三个候选的位置探测图形的中心进行连线得到对应的三角形;确定与等腰直角三角形的相似度最高且最长边最长的三角形;从与三角形对应的三个候选的位置探测图形中,确定出第一位置探测图形、第二位置探测图形和第三位置探测图形,充分利用三个位置探测图形形成等腰直角三角形的特点,从多组的位置探测图形中精确地确定出三个位置探测图形,从而提高二维码的识别准确性。

请参考图15,其示出了本发明再一实施例提供的二维码的生成装置的结构示意图。本实施例为基于图13所示实施例提供的可选的实施例。该生成装置还包括:

获取单元1510、生成单元1520和得到单元1530;

获取单元1510,用于获取第二数据信息;

生成单元1520,用于生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

得到单元1530,用于根据第一数据信息和第二数据信息,得到预设对应关系;预设对应关系包括第一数据信息与第二数据信息的对应关系;

其中,数据是第一数据信息;第二数据信息包括:统一资源标识符URL、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

综上所述,本实施例提供的二维码的生成装置,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例还通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

本实施例还通过生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;解决了数据信息所具有的字节长度太长导致无法生成数据信息图形的问题;达到了即使第二数据信息所具有的第二字节长度很长,也能够生成该二维码的效果,该二维码的面积要比常规的二维码小很多,但使用范围与常规的二维码的使用范围并无明显差异。

请参考图16,其示出了本发明又一实施例提供的二维码的生成装置的结构示意图。本实施例为基于图13所示实施例提供的可选的实施例。该生成装置还包括:

第二发送单元1610和第二接收单元1620;

第二发送单元1610,用于向服务器发送第二数据信息;

第二接收单元1620,用于接收服务器反馈的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;

其中,数据是第一数据信息;第二数据信息包括:统一资源标识符URL、图像信息、音频信息、文本信息、视频信息和抽奖结果中的至少一种。

可选的,第一数据信息是通过对第二数据信息进行哈希计算得到的;

可选的,第一数据信息是从第一数据信息库中为第二数据信息进行分配得到的,第一数据信息库中包括未使用的第一数据信息。

综上所述,本实施例提供的二维码的生成装置,通过根据填充完毕的正方形模块阵列,生成二维码,其中,正方形模块阵列包括m模块*m模块,m=17或18或19或20;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

本实施例通过位置探测图形分隔符在正方形模块阵列占用的i个模块中,存在至少一个模块是第一类型模块,减少了浅色模块的数量;解决了印刷二维码的生产效率较低的问题,达到了在不影响二维码的正常识别的前提下,提高二维码的印刷生产效率的效果。

本实施例还通过生成与第二数据信息对应的第一数据信息,第一数据信息具有的第一字节长度小于第二数据信息具有的第二字节长度;解决了数据信息所具有的字节长度太长导致无法生成数据信息图形的问题;达到了即使第二数据信息所具有的第二字节长度很长,也能够生成该二维码的效果,该二维码的面积要比常规的二维码小很多,但使用范围与常规的二维码的使用范围并无明显差异。

请参考图17,其示出了本发明一个实施例提供的终端1700的框图,该终端可以包括射频(RF,Radio Frequency)电路1701、包括有一个或一个以上计算机可读存储介质的存储器1702、输入单元1703、显示单元1704、传感器1705、音频电路1706、无线保真(WiFi,Wireless Fidelity)模块1707、包括有一个或者一个以上处理核心的处理器1708、以及电源1709等部件。本领域技术人员可以理解,图17中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路1701可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1708处理;另外,将涉及上行的数据发送给基站。通常,RF电路1701包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SII,Subscriber Identity Iodule)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Aiplifier)、双工器等。此外,RF电路1701还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSI,Global Systei of Iobile coiiunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDIA,Code Division Iultiple Access)、宽带码分多址(WCDIA,Wideband Code Division Iultiple Access)、长期演进(LTE,Long Teri Evolution)、电子邮件、短消息服务(SIS,Short Iessaging Service)等。

存储器1702可用于存储软件程序以及模块,处理器1708通过运行存储在存储器1702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1702还可以包括存储器控制器,以提供处理器1708和输入单元1703对存储器1702的访问。

输入单元1703可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元1703可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1708,并能接收处理器1708发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元1703还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1704可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1704可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Eiitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器1708以确定触摸事件的类型,随后处理器1708根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图17中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

终端还可包括至少一种传感器1705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1706、扬声器,传声器可提供用户与终端之间的音频接口。音频电路1706可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路1706接收后转换为音频数据,再将音频数据输出处理器1708处理后,经RF电路1701以发送给比如另一终端,或者将音频数据输出至存储器1702以便进一步处理。音频电路1706还可能包括耳塞插孔,以提供外设耳机与终端的通信。

WiFi属于短距离无线传输技术,终端通过WiFi模块1707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图17示出了WiFi模块1707,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1708是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1702内的软件程序和/或模块,以及调用存储在存储器1702内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1708可包括一个或多个处理核心;优选的,处理器1708可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1708中。

终端还包括给各个部件供电的电源1709(比如电池),优选的,电源可以通过电源管理系统与处理器1708逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1709还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器1708会运行存储在存储器1702中的一个或一个以上的程序指令,从而实现上述各个方法实施例中所提供的识别和生成方法。

本领域普通技术人员可以理解上述实施例的识别方法和生成方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROI,Read Only Ieiory)、随机存取记忆体(RAI,Randoi Access Ieiory)、磁盘或光盘等。

请参考图18,其示出了本发明一个实施例提供的服务器的结构框架图。所述服务器1800包括中央处理单元(CPU)1801、包括随机存取存储器(RAI)1802和只读存储器(ROI)1803的系统存储器1804,以及连接系统存储器1804和中央处理单元1801的系统总线1805。所述服务器1800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1806,和用于存储操作系统1813、应用程序1818和其他程序模块1818的大容量存储设备1807。

所述基本输入/输出系统1806包括有用于显示信息的显示器1808和用于用户输入信息的诸如鼠标、键盘之类的输入设备1809。其中所述显示器1808和输入设备1809都通过连接到系统总线1805的输入输出控制器1810连接到中央处理单元1801。所述基本输入/输出系统1806还可以包括输入输出控制器1810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1810还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1807通过连接到系统总线1805的大容量存储控制器(未示出)连接到中央处理单元1801。所述大容量存储设备1807及其相关联的计算机可读介质为服务器1800提供非易失性存储。也就是说,所述大容量存储设备1807可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAI、ROI、EPROI、EEPROI、闪存或其他固态存储其技术,CD-ROI、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1804和大容量存储设备1807可以统称为存储器。

根据本发明的各种实施例,所述服务器1800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1800可以通过连接在所述系统总线1805上的网络接口单元1811连接到网络1812,或者说,也可以使用网络接口单元1811来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的识别和生成方法。

请参考图19,其示出了本发明一个实施例提供的二维码的结构示意图,对于实施例中未详尽描述的细节,可以结合参考上述图1的实施例。该二维码100包括m模块*m模块的正方形模块阵列,该正方形模块阵列中包括位置探测图形101和数据信息图形102。

位置探测图形101,用于确定二维码的位置。可选的,该位置探测图形101包括三个相同的位置探测图形,三个位置探测图形分别分布在二维码的左上角、右上角和左下角。

数据信息图形102,用于携带数据。该数据信息图形102见图1中斜线框所示出的阴影部分。

其中,每个模块为第一类型模块或第二类型模块,第一类型模块的颜色属性不同于第二类型模块的颜色属性。模块是二维码中的最小识别单位。可选的,模块是一个正方块。

可选的,第一类型模块是深色模块,表示二进制1;第二类型模块是浅色模块,表示二进制0。

通常情况下,第一类型模块的颜色属性为黑色,第二类型模块的颜色属性为白色。本实施例不对模块的颜色属性进行限定。需要说明的是,在不同的实施例中,正方形模块阵列还可以称之为正方形阵列、矩阵阵列、正方形矩阵或正方形矩阵阵列。

综上所述,本实施例提供的微型的二维码,该微型的二维码具有m模块*m模块的正方形模块阵列;解决了将二维码印刷至非常小的面积上导致二维码无法正常识别的问题;达到了即便将二维码印刷至边长为0.5-0.7cm的微型区域内,也能够正常识别的效果,适合使用在瓶盖内侧、物体的边角等小区域应用场景。

需要说明的是,本实施例对该二维码的具体类型不加以限定。微型的二维码以喷墨印刷、粘贴、激光打印、电子显示等形式进行设置,本实施例对微型的二维码的设置形式不加以限定。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的识别方法和生成方法中全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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