一种矩阵式二维码中隐藏信息的方法和防伪方法

文档序号:9471960阅读:987来源:国知局
一种矩阵式二维码中隐藏信息的方法和防伪方法
【技术领域】
[0001]本发明属于信息技术领域,涉及一种矩阵式二维码的防伪方法。更具体地说,涉及到一种在满足不影响矩阵二维码要表达的信息的前提下,在矩阵二维码中加入隐藏信息,通过提取和验证矩阵二维码中隐藏的信息,可以辨别矩阵二维码的真伪,使之具有防伪特性。
【背景技术】
[0002]随着移动物联网技术的发展,矩阵式二维码(以下简称二维码,实际上二维码除了矩阵码以外,还有行排式二维码,是由多个一维码排列而成,详见:http://baike.baidU.com/view/10548550, htm)的应用也越来越普及。二维码是用特定的几何图形按一定规律在平面上分布的相间的图形,通常是黑白的。相对一维条形码,二维码具有识读设备简单、数据容量更大、可编码的数据不局限于字母和数字、且具有较强的抗损毁能力等优点。但是,二维码有一个致命的缺点:自身不防伪。由于大部分二维码的生成算法是公开的,对于一个已生成的二维码,用户用扫码软件得到数据信息后即可用编码软件生成一个具有相同数据信息的二维码,无法辨别原始二维码和新生成二维码。
[0003]现有的二维码防伪,例如把二维码看做一个水印标记,嵌入到图像中,用于辨别带水印图像的真伪;类似的,将二维码作为一种产品防伪的媒介的技术方案,其实质是针对产品的防伪,并不是二维码自身的防伪。本发明主要针对二维码自身的防伪。
[0004]I) 二维码的编码
[0005]二维码,是在一个矩形空间通过像素在矩阵中的不同分布进行编码,通常是黑白的。将数据信息按一定规则编码成“O” “I”比特流。在矩阵元素位置(每个独立的小矩形区域,以下称作模块,取自“快速相应矩阵码:GB/T18284-2000”)上,出现方点、圆点或其他形状点来表示“O”或“ I ”,形状点按照一定规则排布,与比特流信息对应,其流程如图1所示。具有代表性的矩阵式二维码有PDF417,Data Matrix, QR Code等。
[0006]2) 二维码的解码
[0007]解码是编码的逆过程。通过识别矩阵空间中的模块分布信息,根据排布规则逆推得到比特流信息,再进一步根据编码规则得到数据信息,其流程如图2所示。通过对矩阵模块的采样获得模块信息是比较常用的一种方法,其示意图如图3所示。图中每个虚线网格对应为一个模块,“十字”为模块的中心点。只需要判断中心点位置是否为黑色即可知道该模块携带的是“O”还是“1”,这一过程称为“采样”。实际解码过程中,由于获取的二维码图像会有扭曲变形的情况,采样中心点会发生偏移,落在图中阴影范围之内。如果二维码图像变形导致中心点超出了它所在的模块位置,则会导致解码错误。

【发明内容】

[0008]针对二维码自身不防伪的缺陷,本发明的目的在于,首先提供一种矩阵式二维码中隐藏信息的方法,然后基于该方法提出一种矩阵式二维码的防伪方法,在编码时,在二维码中嵌入隐藏信息;解码时,通过提取和验证隐藏信息,辨明二维码的真伪。
[0009]本发明采用的技术方案如下:
[0010]一种矩阵式二维码中隐藏信息的方法,其步骤包括:
[0011]I)选择矩阵式二维码中数据中心点周围的空白区域作为隐藏信息的载体,用于携带隐藏信息;
[0012]2)对数据信息和隐藏信息进行编码,进而生成包含隐藏信息的矩阵式二维码。
[0013]进一步地,步骤2)所述对数据信息和隐藏信息进行编码,是分别对数据信息和隐藏信息进行编码,然后将数据信息模块与隐藏信息模块叠加,得到最终的编码结果;或者将数据信息和隐藏信息进行组合编码,包括利用隐藏信息点与其临近数据信息点的关系进行编码。
[0014]进一步地,还包括进行解码以获得所述隐藏信息的步骤:首先获取二维码图像,然后获得模块信息,通过模块信息、数据信息模块的排布规则和隐藏信息模块的排布规则得到比特流信息,包括数据信息比特流和隐藏信息比特流;之后根据比特流信息、数据信息的编码规则和隐藏信息的编码规则获得数据信息和隐藏信息。
[0015]一种矩阵式二维码的防伪方法,其步骤包括:
[0016]I)选择矩阵式二维码中数据中心点周围的空白区域作为隐藏信息的载体,用于携带隐藏信息;
[0017]2)对数据信息和隐藏信息进行编码,进而生成包含隐藏信息的矩阵式二维码;
[0018]3)获取包含隐藏信息的矩阵式二维码图像,对其进行解码,得到数据信息和隐藏信息;
[0019]4)对通过解码得到的隐藏信息进行验证,辨别二维码的真伪。
[0020]进一步地,步骤2)所述对数据信息和隐藏信息进行编码,是分别对数据信息和隐藏信息进行编码,然后将数据信息模块与隐藏信息模块叠加,得到最终的编码结果;或者将数据信息和隐藏信息进行组合编码,包括利用隐藏信息点与其临近数据信息点的关系进行编码。
[0021]进一步地,步骤2)在编码时,数据信息的编码规则和隐藏信息的编码规则一致或者不一致;数据信息模块的排布规则和隐藏信息模块的排布规则一致或者不一致。
[0022]进一步地,步骤3)进行解码的方法是:首先获取二维码图像中的模块信息,然后通过模块信息、数据信息模块的排布规则和隐藏信息模块的排布规则得到比特流信息,包括数据信息比特流和隐藏信息比特流,之后根据比特流信息、数据信息的编码规则和隐藏信息的编码规则获得数据信息和隐藏信息。
[0023]进一步地,步骤3)在提取二维码图像中隐藏信息的模块信息时,采用下列方法确定隐藏信息采样的中心点:首先获取隐藏信息周围数据信息模块的采样中心点,设为A、B、C、D,并设e、f、g、h分别为线段AB、BC、CD、AD的中点,则线段eg和fh的交点即为隐藏信息米样的中心点。实际操作中有多种方法可以确定隐藏信息米样的中心点,在此不列举。
[0024]与现有技术相比,本发明的有益效果如下:
[0025]I)本发明选择了离模块中心点最远的区域用于携带隐藏信息,而且,利用周围的点来确定隐藏信息区域的中心点,也是本发明的创新点之一。采用这种方式可以抗扭曲变形,即当解码图像发生扭曲变形的时候,依然可以有效地进行解码。
[0026]2)本发明适用于所有基于采样解码的矩阵式二维码。本文中均以黑白为例进行说明,但本发明方法不以此为限制,可以扩展到彩色矩阵式二维码。
[0027]3)本发明提出了利用周围区域携带隐藏信息的方法,而隐藏信息的用途不局限于防伪,也可以在其它需要携带信息、隐藏信息的领域中使用该方法。
【附图说明】
[0028]图1是二维码编码过程流程图。
[0029]图2是二维码解码过程流程图。
[0030]图3是采样示意图。
[0031]图4是用于携带隐藏信息的区域示意图。
[0032]图5是带有隐藏信息的编码流程图。
[0033]图6是带有隐藏信息的编码示意图。
[0034]图7是携带隐藏信息的二维码的解码流程图。
[0035]图8是隐藏信息模块中心点提取示意图。
[0036]图9是基于QR码的编码实例图。
【具体实施方式】
[0037]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0038]图3说明了解码时,只有中心区域(阴影圆形,表示数据中心点,或称数据采样点、模块中心点)的像素点将用于解码,而周围的空白区域(或者称作空置区域)视作无用信息被丢弃。因此,可以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1