当前位置:首页 期刊杂志

基于QR码数字水印技术的研究与实现

时间:2024-09-03

◆庞 博 庞毅林

(1.武警警官学院 四川 610213;2.华东理工大学信息学院 上海 200237)

基于QR码数字水印技术的研究与实现

◆庞 博1庞毅林2

(1.武警警官学院 四川 610213;2.华东理工大学信息学院 上海 200237)

本文研究了一种基于QR二维码的数字水印算法并对其进行了改进以提高水印容量,并在Eclipse平台上运用Java语言实现了QR码的生成、读取,水印信息的嵌入和提取,并形成一个APP应用,具有一定的实用性。

QR码;数字水印;容量

0 引言

二维条码是近年来在一维条码的基础上发展起来的一种新型条码,从本质上来说是一种特殊的二值图像。二值图像即是黑白图像,其每个像素点只用一位表示,“0”代表黑,“1”代表白,其存储简单、结构紧凑等特点使得二值图像在数据传真、文字识别、条码识别中得到广泛应用[1,2]。在二维条形码中嵌入数字水印信息,能够实现如电子票据二维条码的防伪等作用。

目前,国内外关于二维码信息隐藏技术的文献不是很多,研究对象主要是PDF417码(Portable Data File 417)和QR(Quick Response)码。文献[3]提出结合 Freeman 链码和 B样条曲线误差对PDF417二维码先进行预处理,再将与该图像内容相关的哈希值作为水印信息嵌入,可进行篡改验证,容量有所提高但算法实现繁琐,而且水印信息受限。文献[4]利用变形技术对 PDF417码符号字符组成单元的宽度进行适量的变动以实现隐藏信息的嵌入,能有效的抗打印和扫描攻击,但隐藏信息容量不大。文献[5]提出了一种基于 QR二维码的认证系统。文献[6]在 DCT(Discrete Cosine Transform)基础上实现了一种结合PDF417码的水印嵌入算法,采用PDF417编码将水印信号扩展成比信息带宽大得多的带宽信号,提高了数字水印的稳健性,该算法可有效满足水印的透明性和鲁棒性要求。文献[7]提出了一种QR码数字水印技术,文献[8]提出了一种基于QR码数字水印技术,但水印容量有限。文献[9]根据PDF417二维条码自身结构特点,对其进行适量的结构微调,提出明隐藏和暗隐藏方法,将信息隐藏进条码当中。文献[10-11]提出将二维码水印技术应用于身份证管理和电子票证中以实现防伪认证的目的。本文在文献[8]的基础上,改进了水印嵌入算法,提高了水印容量,同时能正确实现水印的提取和原二维码信息的识读,并实现APP应用,具有一定的实用性。

1 基于DCT变换的QR码水印算法

1.1 基于DCT变换的数字水印技术

DCT变换域数字水印技术具有鲁棒性强、隐蔽性好的特点。其主要思想是在图像的 DCT变换域上选择中低频系数叠加水印信息,之所以选择中、低频系数,是因为人眼视觉敏感的部分主要集中在这一频段,攻击者在破坏数字水印的过程中,不可避免地会导致图像质量严重下降,一般的图像处理过程也不会改变这部分数据。数字水印的流程如图1所示。

图1 数字水印流程图

1.2 基于QR码数字水印算法

基于DCT变换的QR二维码的数字水印算法,具体嵌入算法如下:

(1)将载体图像按8*8像素分块,对每个分块都做DCT变换得到如表1所示的DCT系数矩阵。有字母的格子代表要通过操作该系数来嵌入水印信息的位置。

(2)修改DCT中频系数来嵌入水印,每个8*8块中的7组系数表达1bit的水印信息。

(3)设 B(j)代表要嵌入的第 j位 bit信息,a(i,1),a(i,2),a(i,3) (i=1,2,……,7)代表嵌入的B(j)的相邻三个DCT中频系数,文献[8]的嵌入算法描述为:

①当 B(j)=1 时,a(i,2)放绝对值最大的系数 max,a(i,1)放绝对值次大的系数mid,a(i,3)放绝对值最小的系数min;

②当 B(j)=0时,a(i,2)放绝对值最小的系数,a(i,1)放绝对值最大的系数,a(i,3)放绝对值次大的系数。

本文在文献[8]的基础上改进步骤3以提高水印容量。因备选的有三个中频系数,可有六种排列方式,所以能够一次不只嵌入1bit的信息,而是嵌入2bit的信息,即使用到四种排列方式,如表1所示,可将允许嵌入的水印容量扩大了2倍。

(4)多次重复嵌入水印信息,对每块图像的 DCT系数作IDCT,得到嵌入水印的空域图像。

水印的提取过程通常是水印嵌入的逆过程,具体算法为:

①将图像按8*8分块,作DCT变换:

②根据每个分块的频域系数规则判定每分块嵌入的 7bit信息;

③将提取出来的 7bit信息按照模糊识别的最大隶属度原则来判决每分块嵌入的信息到底是1还是0;

④将信息组合成完整水印信息。

表1 改进嵌入算法的DCT系数矩阵

2 实验结果

用JAVA编程实现了信息隐藏算法的嵌入与提取实验。本文的仿真实验选取大小为800×800的QR二维码样本图像,携带信息“WWW”,嵌入水印信息为100×100 的watermark.bmp图像。

QR二维条码图像原始样本如图2(a)所示。嵌入水印后的QR二维条码图像如图2(b)所示,对应的嵌入水印如图2(c)所示。在嵌入过程中,原QR码图像处理成灰度图像,观察QR二维码原始图像与嵌入水印后的二值化图像,二者差别很小,且提取出的水印信息与原始水印信息几乎完全一致。实验结果表明,该算法是有效的,且水印容量是文献[8]的两倍。

图2 实验效果图

3 APP的实现

为更好地实现数字水印技术在实际生活的应用,运用 Java编程实现APP应用。APP主要功能有:

(1)扫描获取QR码的携带信息(基于Google的开源包Zxing完成);

(2)根据输入生成特定的QR码,规格大小像素800*800,写入手机特定文件夹Pictures目录下,名字为(信息).png;

(3)选定好水印图像(规格要求像素100*100二值图像),生成嵌入水印后的图像;

(4)通过生成水印后的图像恢复出嵌入的水印。基于QR码数字水印的App应用界面如图3所示。

4 结语

本文提出了一种改进的基于DCT变换的QR码数字水印算法,实现了水印的嵌入和提取,并正确识读原二维码信息,提高了隐藏容量,最后设计并开发了相关的 APP 应用,对实际生活中运用二维码进行防伪认证等方面具有一定的实用性。该方法不仅具有较大的嵌入水印容量,对原有QR码信息影响较小,针对QR码的抗扫描打印功能有待进一步研究。

图3 基于QR码数字水印技术的App应用

[1] 蒋翠玲,黄帅等.一种基于PDF417条码的鲁棒数字水印方法.网络与信息安全学报,2016.

[2] Jiangxiao Han, Gang Wang, Johan Sid é n,Fragment-type UHF RFID tag embedded in QR barcode label.Electronics Letters,2015.

[3] 吴桐树.基于二维码的数字水印技术研究[D].浙江理工大学,2015.

[4] 牛夏牧,黄文军,吴迪,张慧.基于二维条码的信息隐藏技术[J].中山大学学报(自然科学版),2004.

[5] 潘璐.基于二维码的证件认证技术研究与实现[D].北京邮电大学,2014.

[6] 张基宏,肖薇薇,纪震.基于二维条码 PDF417的数字图像水印算法[J].深圳大学学报(理工版),2002.

[7] 孙丙,高美凤.基于QR码的数字水印算法[J].计算机与现代化,2011.

[8] 王瑞玲.面向二维条形码的数字水印技术研究[D].杭州电子科技大学,2011.

[9] 赵博.二维条码研究[D].西安电子科技大学,2007.

[10] 林海.二维码技术在身份证管理中的应用研究[D].天津:天津大学,2012.

[11] 欧阳麒.移动二维条码电子票证安全数字水印方案研究[D].上海交通大学,2007.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!