本发明涉及防伪,更具体地说,它涉及一种防复制水印二维码生成、提取、验证方法及系统。
背景技术:
1、近年来,由于价格低廉且使用方便,二维码在防伪领域广泛应用。一种常见的防伪方案是一物一码的二维码解决方案,通过在真品上打印或粘贴唯一的二维码,消费者可使用移动设备扫描并在在线防伪系统中验证产品真实性。 然而,这种方案存在漏洞。由于真实的二维码可被扫描、复制和打印,恶意制造者可通过物理非法复制攻击违反唯一性原则,对防伪构成威胁。为缓解上述问题,有方案考虑遮蔽部分或全部二维码,但这会使得消费者在购买前无法验证产品真实性。
技术实现思路
1、本技术的目的是提供一种防复制水印二维码生成、提取、验证方法及系统,解决现有二维码防伪存在物理非法复制的问题,采用半脆弱的水印嵌入方式且设置特殊的随机二值化处理方式得到含水印的二维码图像,可以有效的防止物理非法复制。
2、本技术第一方面提供一种防复制水印二维码生成方法,包括:步骤s1、获取水印信息,将所述水印信息转化为x位二进制序列,所述x为正整数;步骤s2、获取原始二维码图像,将所述原始二维码图像转化至灰度色彩空间,并去除原始二维码图像的边界区域,将原始二维码图像划分为至少x个非重叠块,对每个非重叠块进行dct变化得到dct系数矩阵;步骤s3、按顺序在所述dct系数矩阵中嵌入水印信息,其中对于每个dct系数矩阵,从低频带或中频带中选择两个位置对称的系数组成系数对,在系数对中嵌入1bit的水印信息;步骤s4、对嵌入水印信息后的dct系数矩阵进行dct逆变换得到二维码复原图像,对所述二维码复原图像进行随机二值化处理,得到含水印的二维码图像,所述随机二值化处理包括:对二维码复原图像中不变的像素进行保持,对变化的像素进行溢出、降级/升级处理,并擦除二维码复原图像中与原始二维码图像白色区域对应的像素。
3、采用上述技术方案,将水印信息分块嵌入到二维码图像的dct域,通过设置分块、提取dct中低频系数对的方式嵌入水印信息,一次印刷扫描时可以较好的保持水印内容,而二次印刷扫描时水印内容被破坏,实现二维码图像的防复制;且针对二维码图像设置特殊的随机二值化处理,对嵌入水印前后发生变化的像素进行溢出、降级/升级处理,获得有效的二进制二维码图像,且通过擦除原始二维码图像的白色区域,保持二维码图像的美观、可识别性。
4、在一种可能的实施方式中,步骤s3具体通过如下公式实现:
5、;
6、其中,c1为dct系数矩阵n,m位置的系数,c2为dct系数矩阵m,n位置的系数,、为嵌入1bit水印信息后的c1、c2,w∈{0,1}为待嵌入的1bit水印信息,δ为调节水印嵌入强度的参数;
7、在一种可能的实施方式中,步骤s4具体包括:
8、对于嵌入水印信息后没有变化的像素,不执行操作;
9、对于嵌入水印信息后像素值溢出[0,255]的像素执行如下溢出处理:
10、;
11、其中,为嵌入水印信息后 i, j位置的像素值,为溢出处理后的像素值;
12、对于嵌入水印信息后像素值在[0,255]之间的像素进行降级/升级处理:
13、;
14、其中,为嵌入水印信息后 i, j位置的像素值,为降级/升级处理后的像素值,为原始二维码图像的像素值;
15、对于二维码复原图像中与原始二维码图像白色区域对应的像素进行擦除:
16、;
17、其中,为擦除处理后的像素值,为原始二维码图像的像素值。
18、本技术第二方面提供一种防复制水印二维码提取方法,包括:获取如上述的一种防复制水印二维码生成方法得到的含水印的二维码图像,对所述二维码图像进行定位和透视校正;将所述二维码图像转化至灰度色彩空间,并去除二维码图像的边界区域,将二维码图像划分为预设个数的非重叠块,对每个非重叠块进行dct变化得到dct系数矩阵,从每个dct系数矩阵中的预设位置提取系数对,根据系数对确定每个非重叠块的水印信息,将各个非重叠块的水印信息按顺序拼接得到水印提取信息。
19、本技术第三方面提供一种防复制水印二维码验证方法,包括:获取如上述的一种防复制水印二维码提取方法得到的水印提取信息,计算水印提取信息与原始水印信息的相关系数,将相关系数大于设定阈值的水印提取信息视作未经复制的水印信息,将相关系数小于设定阈值的水印提取信息视作经复制的水印信息。
20、本技术第四方面提供一种防复制水印二维码生成系统,包括:水印信息获取模块,用于获取水印信息,将所述水印信息转化为x位二进制序列,所述x为正整数;二维码图像获取模块,用于获取原始二维码图像,将所述原始二维码图像转化至灰度色彩空间,并去除原始二维码图像的边界区域,将原始二维码图像划分为至少x个非重叠块,对每个非重叠块进行dct变化得到dct系数矩阵;水印信息嵌入模块,用于按顺序在所述dct系数矩阵中嵌入水印信息,其中对于每个dct系数矩阵,从低频带或中频带中选择两个位置对称的系数组成系数对,在系数对中嵌入1bit的水印信息;含水印二维码图像生成模块,用于对嵌入水印信息后的dct系数矩阵进行dct逆变换得到二维码复原图像,对所述二维码复原图像进行随机二值化处理,得到含水印的二维码图像,所述随机二值化处理包括:对二维码复原图像中不变的像素进行保持,对变化的像素进行溢出、降级/升级处理,并擦除二维码复原图像中与原始二维码图像白色区域对应的像素。
21、在一种可能的实施方式中,所述水印信息嵌入模块,具体用于执行如下公式:
22、;
23、其中,c1为dct系数矩阵n,m位置的系数,c2为dct系数矩阵m,n位置的系数,、为嵌入1bit水印信息后的c1、c2,w∈{0,1}为待嵌入的1bit水印信息,δ为调节水印嵌入强度的参数。
24、在一种可能的实施方式中,所述含水印二维码图像生成模块,具体用于:
25、对于嵌入水印信息后没有变化的像素,不执行操作;
26、对于嵌入水印信息后像素值溢出[0,255]的像素执行如下溢出处理:
27、;
28、其中,为嵌入水印信息后 i, j位置的像素值,为溢出处理后的像素值;
29、对于嵌入水印信息后像素值在[0,255]之间的像素进行降级/升级处理:
30、;
31、其中,为嵌入水印信息后 i, j位置的像素值,为降级/升级处理后的像素值,为原始二维码图像的像素值;
32、对于二维码复原图像中与原始二维码图像白色区域对应的像素进行擦除:
33、;
34、其中,为擦除处理后的像素值,为原始二维码图像的像素值。
35、本技术第五方面提供一种防复制水印二维码提取系统,包括:含水印二维码图像获取模块,用于获取如上述的一种防复制水印二维码生成方法得到的含水印的二维码图像,对所述二维码图像进行定位和透视校正;水印信息提取模块,用于将所述二维码图像转化至灰度色彩空间,并去除二维码图像的边界区域,将二维码图像划分为预设个数的非重叠块,对每个非重叠块进行dct变化得到dct系数矩阵,从每个dct系数矩阵中的预设位置提取系数对,根据系数对确定每个非重叠块的水印信息,将各个非重叠块的水印信息按顺序拼接得到水印提取信息。
36、本技术第六方面提供一种防复制水印二维码验证系统,包括:水印提取信息获取模块,用于获取如上述的一种防复制水印二维码提取方法得到的水印提取信息;水印提取信息验证模块,计算水印提取信息与原始水印信息的相关系数,将相关系数大于设定阈值的水印提取信息视作未经复制的水印信息,将相关系数小于设定阈值的水印提取信息视作经复制的水印信息。
37、与现有技术相比,本技术具有以下有益效果:本方案提供的半脆弱水印二维码生成方法,设计了一种分块水印嵌入策略,通过调整成对的dct变换系数的关系来嵌入水印比特,应用随机图像二值化过程,以获得有效的二进制二维码图像,擦除原本属于白色模块的区域,同时保持二维码的识别性与美观性,最终生成的水印呈现为白点图案,驻留在二维码的黑色模块中,保持水印的鲁棒性;本方案提供的防复制水印二维码提取方法,是上述防复制水印二维码生成方法的逆过程,仅通过dct变换系数对的关系即可提取水印信息,水印提取简单;本方案提供的半脆弱水印二维码验证方法,基于上述的半脆弱水印二维码生成方法,可以实现对非法扫描复制的水印提取信息进行判别,为二维码防非法复制提供了一种有效而稳定的解决途径。
1.一种防复制水印二维码生成方法,其特征在于,包括:
2.根据权利要求1所述的一种防复制水印二维码生成方法,其特征在于,步骤s3具体通过如下公式实现:
3.根据权利要求1所述的一种防复制水印二维码生成方法,其特征在于,步骤s4具体包括:
4.一种防复制水印二维码提取方法,其特征在于,包括:
5.一种防复制水印二维码验证方法,其特征在于,包括:
6.一种防复制水印二维码生成系统,其特征在于,包括:
7.根据权利要求6所述的一种防复制水印二维码生成系统,其特征在于,所述水印信息嵌入模块,具体用于执行如下公式:
8.根据权利要求6所述的一种防复制水印二维码生成系统,其特征在于,所述含水印二维码图像生成模块,具体用于:
9.一种防复制水印二维码提取系统,其特征在于,包括:
10.一种防复制水印二维码验证系统,其特征在于,包括:
