一种QR码容量提升方法及终端与流程

文档序号:14941233发布日期:2018-07-13 20:52阅读:180来源:国知局

本发明涉及qr码技术领域,尤其涉及一种qr码容量提升方法及终端。



背景技术:

qr码是二维条码的一种,目前被广泛用于信息的分享。qr码图片由规则的黑、白正方形模块组成,其中大部分是用于存储编码数据的数据模块,其余部分是用于提供定位等功能性信息的功能模块。

qr码的模块数据与版本有关,版本越高,模块数就越多,用于存储信息的容量也就越大。但是较高版本的qr码,其使用到的功能模块也更复杂。而在模块尺寸不变的情况下,所需的图片尺寸也会越大。



技术实现要素:

本发明所要解决的技术问题是:本发明提供的一种qr码容量提升方法及终端,能够在不改变二维码图片的尺寸及模块尺寸的前提下提升数据存储容量。

为了解决上述技术问题,本发明提供了一种qr码容量提升方法,包括以下步骤:

s1:拆分待编码的信息为m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码。

本发明还提供了一种qr码容量提升终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

s1:拆分待编码的信息为m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码。

本发明的有益效果为:

本发明提供一种qr码容量提升方法及终端,通过将信息拆分为m组,通过编码得到m个qr码,且所述m个qr码的版本号相同,保证了不同qr码对应图片的尺寸相同,且不同qr码在同一位置对应的模块形状及大小相同;同时取其中一个qr码,将该qr码每一个模块划分为a个区域,其中a个区域中的m个区域与m个qr码一一对应,设置每一个区域的颜色为该区域对应的qr码的相应模块的颜色;通过上述方法,可实现使用每一个模块的m个区域保存m个qr码对应模块的编码信息,即只需要一个模块即可存储多个qr码对应模块的信息,在不改变qr码图片的尺寸及模块尺寸的前提下,使数据存储容量提升m倍。

附图说明

图1为根据本发明实施例的一种qr码容量提升方法的主要步骤示意图;

图2为根据本发明实施例的一种qr码容量提升终端的结构示意图;

标号说明:

1、存储器;2、处理器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思为:通过将信息拆分为m组,通过编码得到m个版本号相同的qr码,取其中任意一个qr码,将该qr码的每一个模块划分为a个区域,其中a个区域中的m个区域与m个qr一一对应,设置所述每一个模块的每一个区域的颜色为对应的qr码的相应模块的颜色,得到目标二维码。

请参照图1,本发明提供的一种qr码容量提升方法,包括以下步骤:

s1:拆分待编码的信息为m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码。

从上述描述可知,本发明提供一种qr码容量提升方法,通过将信息拆分为m组,通过编码得到m个qr码,且所述m个qr码的版本号相同,保证了不同qr码对应图片的尺寸相同,且不同qr码在同一位置对应的模块形状及大小相同;同时取其中一个qr码,将该qr码每一个模块划分为a个区域,其中a个区域中的m个区域与m个qr码一一对应,设置每一个区域的颜色为该区域对应的qr码的相应模块的颜色;通过上述方法,可实现使用每一个模块的m个区域保存m个qr码对应模块的编码信息,即只需要一个模块即可存储多个qr码对应模块的信息,在不改变qr码图片的尺寸及模块尺寸的前提下,使数据存储容量提升m倍。

进一步的,所述s4之后还包括:

解码所述目标二维码,得到解码信息。

进一步的,“解码所述目标二维码,得到解码信息”具体为:

获取目标二维码对应的目标图片;

通过qr码解码方法,判断所述目标图片中是否存在qr码;

若存在,则获取目标二维码中每一个模块包括的每一个区域的颜色;

根据所述一一对应关系和每一个模块包括的每一个区域的颜色,得到m个qr码编码信息;

根据m个qr码的编码信息,得到解码信息。

从上述描述可知,通过上述方法,能够解码得到m个qr码编码信息,并组合得到解码信息,即为原始的待编码的信息。

进一步的,“根据m个qr码的编码信息,得到解码信息”具体为:

解码所述m个qr码的编码信息,得到m个信息;

获取拆分待编码的信息的拆分方法,得到与所述拆分方法对应的组合信息的组合方法;

根据所述组合方法,组合所述m个信息,得到所述解码信息。

从上述描述可知,通过上述方法,可快速得到所述解码信息,保证解码信息与原始的待编码的信息一致。

进一步的,所述s1具体为:

按照所述待编码的信息存储顺序,拆分得到m组信息。

从上述描述可知,通过上述方法,可快速地将待编码的信息有效拆分,同时上述拆分方法,便于后续信息的组合。

请参照图2,本发明提供了一种qr码容量提升终端,包括存储器1、处理器2及存储在存储器上1并可在处理器2上运行的计算机程序,所述处理器2执行所述程序时实现以下步骤:

s1:拆分待编码的信息为m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码。

进一步的,所述的一种qr码容量提升终端,所述s4之后还包括:

解码所述目标二维码,得到解码信息。

进一步的,所述的一种qr码容量提升终端,“解码所述目标二维码,得到解码信息”具体为:

获取目标二维码对应的目标图片;

通过qr码解码方法,判断所述目标图片中是否存在qr码;

若存在,则获取目标二维码中每一个模块包括的每一个区域的颜色;

根据所述一一对应关系和每一个模块包括的每一个区域的颜色,得到m个qr码编码信息;

根据m个qr码的编码信息,得到解码信息。

进一步的,所述的一种qr码容量提升终端,“根据m个qr码的编码信息,得到解码信息”具体为:

解码所述m个qr码的编码信息,得到m个信息;

获取拆分待编码的信息的拆分方法,得到与所述拆分方法对应的组合信息的组合方法;

根据所述组合方法,组合所述m个信息,得到所述解码信息。

进一步的,所述的一种qr码容量提升终端,所述s1具体为:

按照所述待编码的信息存储顺序,拆分得到m组信息。

本发明的实施例一为:

本发明提供了一种qr码容量提升方法,包括以下步骤:

s1:拆分待编码的信息为m组信息;

所述s1具体为:

按照所述待编码的信息存储顺序,拆分得到m组信息。

优选的,需要编码的长度为n待编码的信息按顺序拆分为长度为n/m(n/m代表对n/m的值进行向上取整)的m-1组信息,及剩余一组长度为n-(m-1)*n/m的信息,共m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

其中,qr码模块在对应的qr码图片上的像素大小至少为3*3像素。

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码;

由于所生成的二维码模块往往包括多个像素图片区域,而解码时所提取的0-1比特流(二进制信息)主要取决于模块中心部位的像素值,因此可以将中心位置以外的区域用来存储更多的数据。也就是说,按照一定的设计规则将更多的0-1比特流保存在原始模块中心区域以外的位置,从而将多个qr码融合成一个二维码;例如,将原始信息分成5部分,分别生成qr码,最后将五个qr码融合成一个二维码。具体的融合方法为:例如,以第一qr码为基础,对其每一个模块划分为五个区域。以模块i为例,每一个qr码在相同位置均具有模块i。划分第一qr码的模块i为五个区域(第一至第五区域),设置第一区域的像素颜色为第一qr码的模块i对应0/1比特值所代表的颜色,设置第二区域的像素颜色为第二qr码的模块i对应0/1比特值所代表的颜色,设置第三区域的像素颜色为第三qr码的模块i对应0/1比特值所代表的颜色,设置第四区域像素颜色为第四qr码的模块i对应0/1比特值所代表的颜色,设置第五区域的像素颜色为第五qr码的模块i对应0/1比特值所代表的颜色;根据上述方法,可设置第一qr码的每一个模块的所有区域的颜色,即可得到目标二维码。根据上述方法,可设置第一qr码的每一个模块的所有区域的颜色,即可得到目标二维码。

其中,本专利要求将每个模块划分为中心和四周的多个区域,但划分方法并不唯一,划分的依据是划分部分的个数要大于或者等于m,且保证每区域的图片至少包含1个像素;

s5:解码所述目标二维码,得到解码信息;

所述s5具体为:

获取目标二维码对应的目标图片;

通过qr码解码方法,判断所述目标图片中是否存在qr码;

若存在,则获取目标二维码中每一个模块包括的每一个区域的颜色;

根据所述一一对应关系和每一个模块包括的每一个区域的颜色,得到m个qr码编码信息;

根据m个qr码的编码信息,得到解码信息。

其中,上述解码时,采用常规qr码解码方法判断输入图片中是否存在二维码,如果存在则对包含二维码的图像进行必要的预处理,包括通过投影变换将出现形变的二维码区域还原成正方形,通过剪裁操作将非二维码区域去掉等。然后根据编码时所使用的划分方式,依次检查各划分区域的像素信息以还原出原始的m个信息;

“根据m个qr码的编码信息,得到解码信息”具体为:

解码所述m个qr码的编码信息,得到m个信息;

获取拆分待编码的信息的拆分方法,得到与所述拆分方法对应的组合信息的组合方法;

根据所述组合方法,组合所述m个信息,得到所述解码信息。

本发明成功将原始qr码的容量提升了将近m倍。例如,由于进行了图1所示的模块划分(分成5部分),原本一个模块只能表示1个比特的0/1信息,现在可以表示5个比特的0/1信息。因此说在版本不变的情况下,本方法有效提升了qr码的容量。

本发明的实施例二为:

本发明提供了一种qr码容量提升终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

s1:拆分待编码的信息为m组信息;

所述s1具体为:

按照所述待编码的信息存储顺序,拆分得到m组信息。

优选的,需要编码的长度为n待编码的信息按顺序拆分为长度为代表对n/m的值进行向上取整)的m-1组信息,及剩余一组长度为的信息,共m组信息;

s2:通过qr码编码方法分别对m组信息进行编码,生成m个qr码,所述m个qr码对应的qr码版本号均相同;

其中,qr码模块在对应的qr码图片上的像素大小至少为3*3像素。

s3:任意取所述m个qr码中的一个qr码,得到第一qr码;将所述第一qr码的每一个模块均划分为a个区域,所述a不小于m,其中a个区域中的m个区域与m个qr码具有一一对应关系;

s4:设置所述每一个模块的每一个区域的颜色为该区域对应的qr码的相应模块的颜色,得到目标二维码;

由于所生成的二维码模块往往包括多个像素图片区域,而解码时所提取的0-1比特流(二进制信息)主要取决于模块中心部位的像素值,因此可以将中心位置以外的区域用来存储更多的数据。也就是说,按照一定的设计规则将更多的0-1比特流保存在原始模块中心区域以外的位置,从而将多个qr码融合成一个二维码;例如,将原始信息分成5部分,分别生成qr码,最后将五个qr码融合成一个二维码。具体的融合方法为:例如,以第一qr码为基础,对其每一个模块划分为五个区域。以模块i为例,每一个qr码在相同位置均具有模块i。划分第一qr码的模块i为五个区域(第一至第五区域),设置第一区域的像素颜色为第一qr码的模块i对应0/1比特值所代表的颜色,设置第二区域的像素颜色为第二qr码的模块i对应0/1比特值所代表的颜色,设置第三区域的像素颜色为第三qr码的模块i对应0/1比特值所代表的颜色,设置第四区域像素颜色为第四qr码的模块i对应0/1比特值所代表的颜色,设置第五区域的像素颜色为第五qr码的模块i对应0/1比特值所代表的颜色;根据上述方法,可设置第一qr码的每一个模块的所有区域的颜色,即可得到目标二维码。

其中,本专利要求将每个模块划分为中心和四周的多个区域,但划分方法并不唯一,划分的依据是划分部分的个数要大于或者等于m,且保证每区域的图片至少包含1个像素;

s5:解码所述目标二维码,得到解码信息;

所述s5具体为:

获取目标二维码对应的目标图片;

通过qr码解码方法,判断所述目标图片中是否存在qr码;

若存在,则获取目标二维码中每一个模块包括的每一个区域的颜色;

根据所述一一对应关系和每一个模块包括的每一个区域的颜色,得到m个qr码编码信息;

根据m个qr码的编码信息,得到解码信息。

其中,上述解码时,采用常规qr码解码方法判断输入图片中是否存在二维码,如果存在则对包含二维码的图像进行必要的预处理,包括通过投影变换将出现形变的二维码区域还原成正方形,通过剪裁操作将非二维码区域去掉等。然后根据编码时所使用的划分方式,依次检查各划分区域的像素信息以还原出原始的m个信息;

“根据m个qr码的编码信息,得到解码信息”具体为:

解码所述m个qr码的编码信息,得到m个信息;

获取拆分待编码的信息的拆分方法,得到与所述拆分方法对应的组合信息的组合方法;

根据所述组合方法,组合所述m个信息,得到所述解码信息。

综上所述,本发明提供一种qr码容量提升方法及终端,通过将信息拆分为m组,通过编码得到m个qr码,且所述m个qr码的版本号相同,保证了不同qr码对应图片的尺寸相同,且不同qr码在同一位置对应的模块形状及大小相同;同时取其中一个qr码,将该qr码每一个模块划分为a个区域,其中a个区域中的m个区域与m个qr码一一对应,设置每一个区域的颜色为该区域对应的qr码的相应模块的颜色;通过上述方法,可实现使用每一个模块的m个区域保存m个qr码对应模块的编码信息,即只需要一个模块即可存储多个qr码对应模块的信息,在不改变qr码图片的尺寸及模块尺寸的前提下,使数据存储容量提升m倍。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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