一种二维码内的图片存储方法与流程

文档序号:17951393发布日期:2019-06-19 00:03阅读:2713来源:国知局
一种二维码内的图片存储方法与流程

本发明涉及计算机应用领域,涉及二维码技术,具体涉及一种二维码内的图片存储方法。



背景技术:

随着社会的发展,二维码识别、支付技术快速发展,其成为了人们生活中重要的方式。二维码是用特定的集合图形按照一定的规律在二维方向上的平面分布的黑白相间的矩形方阵记录数据符号信息的新一代条码技术,通常由二维码阵和二维码号,以及下方的说明文字组成,具有信息量大,纠错能力强,识别速度快,全方位识读等特点,其应用领域广泛。

url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url,它包含的信息指出文件的位置以及浏览器应该怎么处理它。时间复杂度,指的是一个算法程度运行完成所花时间的等级。常数级别为最快,指数级别为最慢。

现有技术中,由于二维码容量的局限性,比如qrcode,并不能存储相对清晰的图片。所以一般现有的技术是通过二维码内存储的url来得到图片的。又或者存在一些少数情况下,通过限制图片大小的方式,来保证图片可以存储到二维码内,也或者是预留图片空间将图片插入,但是这种方式需要大的存储容量,图片的大小无法控制,浪费资源。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种二维码内的图片存储方法,该方法能够存储的最清晰图片,保证图片可以存入二维码内,图片存储方式,可以解决含图片的多形式混合信息的存储,也可以在保证图片完美存入二维码的前提下,加快图片存储速度。

本发明提供了一种二维码内的图片存储方法,包括如下步骤:

s1.获取图片数据和二维码参数,基于二维码参数确定长度临界值;

s2.将图片数据转换和编码后,判断转换编码后数据长度与长度临界值关系;

s3.基于判断关系对图片进行压缩和/或调整长度临界值。

进一步地,二维码参数包括二维码容量和/或容错系数。

进一步地,长度临界值为二维码剩余容量的三分之一左右。

进一步地,二维码剩余容量为二维码总容量减去文字部分编码长度及其他必需参数所占用的容量后的容量。

进一步地,所述步骤s2中将图片数据转换具体为将图片数据转换为字符串。

进一步地,字符串为数字及字母组合的形式。

进一步地,所述步骤s2中将图片数据编码具体为将字符串转换为二进制编码。

进一步地,所述步骤s2中判断关系为大小关系。

进一步地,如果数据长度大于长度临界值,对图片进行压缩后返回步骤s2。

进一步地,所述压缩为等比例压缩。

进一步地,所述步骤s3还包括编码数据容错处理,得到最终编码。

进一步地,所述编码数据为图片数据和其他数据整合后的编码数据。

进一步地,所述编码形式为二进制编码。

进一步地,所述步骤s3还包括判断满足容错条件的最终数据是否能够存入二维码,是则生成二维码;否则调整长度临界值后返回步骤s2。

进一步地,调整长度临界值基于最终数据超出二维码容量的长度或固定系数确定。

本发明提供了一种二维码内的图片存储方法,可以实现:

(1)为了提高图片存入二维码内的速度,设计了长度临界值,通过这个临界值减少耗时操作,来提高效率。

(2)设计的临界值,也为文字图片混合形式数据的存储提供了一种方案。

(3)为了保证图片能全部放入二维码内,还设置了一个循环,如果图片所对应的二进制值太长,超过了二维码的容量。那么需要重新设置长度临界值,循环计算。这种循环逼近结果的方式,可以保证计算得到的图片为其二维码所能存储的最清晰图片。

(4)本发明的图片存储方式,可以解决含图片的多形式混合信息的存储,也可以在保证图片完美存入二维码的前提下,加快图片存储速度。

附图说明

图1为二维码内的图片存储流程图。

具体实施方式

下面详细说明本发明的具体实施,有必要在此指出的是,以下实施只是用于本发明的进一步说明,不能理解为对本发明保护范围的限制,该领域技术熟练人员根据上述本发明内容对本发明做出的一些非本质的改进和调整,仍然属于本发明的保护范围。

本发明提供了一种二维码内的图片存储方法,其具体流程如图1所示。

为了提高图片存入二维码内的速度,设计了长度临界值,通过这个临界值减少耗时操作,来提高效率。

当然本设计中的临界值,也为文字图片混合形式数据的存储提供了一种方案。

为了保证图片能全部放入二维码内,还设置了一个循环,如果图片所对应的二进制值太长,超过了二维码的容量。那么需要重新设置长度临界值,循环计算。这种循环逼近结果的方式,可以保证计算得到的图片为其二维码所能存储的最清晰图片。

下面,进一步说明本发明的二维码内的图片存储方法的流程,其包括如下的步骤:

1.获取图片数据及二维码参数

图片类型可以是jpeg、tiff、raw、bmp、gif、png等;

二维码的类型可以是深浅点阵组成的图形;

二维码参数包括二维码容量和/或容错参数。

2.计算获得长度临界值;

设置上述长度临界值的作用是为了加快速度,在具体的应用中,由于临界值的存在,所以不需要在图片处理之后,每次都进行容错计算。因为,容错算法是非常耗时的算法,如果不断的需要进行容错计算,不但效率低,而且时间长,它的时间复杂度是指数级别的。

初始长度临界值主要根据二维码剩余容量决定。一般初始长度临界值为二维码剩余容量的三分之一左右。当然,初始长度临界值还可以根据其他影响参数确定,比如容错算法以及容错系数等。

上述二维码剩余容量,一般指的是二维码总容量减去文字部分编码长度及其他一些必需参数所占用的容量。所以本方法是支持含图片的可二进制转化的所有类型的混合信息的加密。

3.图片数据转换为字符串形式;

上述方式可以是所有图片类型转换为数字及字母组合的方法,上述组合最典型的为base64。

4.字符串转换为二进制编码;

这里的字符编码过程可以通过自己定义的编码表,也可以是公开的编码表如ascii;

5.判断二进制长度与临界值的大小;如果二进制长度大于临界值大小,那么图片需要进行压缩,再回到第3步骤;如果二进制长度小于等于临界值,进入下一步;

为了保证图片的比例,上述所涉及的图片压缩方法主要为图片等比压缩方法。

6.二进制编码进行容错计算;

上述二进制编码为将图片数据以及其他数据整合后,转换得到的二进制编码;

这里需要通过容错算法计算,最常用的容错算法为reedsolomon。容错参数一般小于40%。当然容错参数也可以根据不同二维码的容量,以及所需要加密的数据容量决定。

7.判断最终数据是否可以存入二维码;如果不可以,回到第2步骤,优化长度临界值;

如需返回第2步骤,长度临界值的优化方法可以根据最终数据所超出二维码容量的长度决定。

8.生成二维码;

理论上可以说二维码的容量决定了图片的清晰度,本发明利用高容量的二维码,可以支持高清晰的图片存储。

通过处理之前的临界值设定,可以加快图片的编码速度,提高效率;临界值的设计,也解决了二维码中图片文字混合信息形式的数据存储;循环参数设置的方法,保证了图片可以存储入二维码,且该图片为此二维码所能存储的最清晰图片。

尽管为了说明的目的,已描述了本发明的示例性实施方式,但是本领域的技术人员将理解,不脱离所附权利要求中公开的发明的范围和精神的情况下,可以在形式和细节上进行各种修改、添加和替换等的改变,而所有这些改变都应属于本发明所附权利要求的保护范围,并且本发明要求保护的产品各个部门和方法中的各个步骤,可以以任意组合的形式组合在一起。因此,对本发明中所公开的实施方式的描述并非为了限制本发明的范围,而是用于描述本发明。相应地,本发明的范围不受以上实施方式的限制,而是由权利要求或其等同物进行限定。

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