《2022年多域数字图像隐写技术的实现与讨论 .pdf》由会员分享,可在线阅读,更多相关《2022年多域数字图像隐写技术的实现与讨论 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多域数字图像隐写技术的实现与讨论制作日期: 2014.6.3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 摘要随着科技的发展 , 信息安全技术已经成为不可忽略的因素。而网络的普及及应用, 让多媒体技术得到了广泛的发展, 因此图像及视频的安全变得越来越重要。本文正是在这种时代背景下,介绍一种关于图像处理的信息隐藏技术。用于进行隐蔽通信的图像信息隐藏算法可以分为两大类:基于空域的信息隐藏算法和基于变换域的信息隐藏算法。基于变换
2、域的算法以F5为代表算法。下面我们介绍一下变换域的算法。关键字:隐藏 嵌入 信息 图像名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 目录一、常用的变换域的数字图像隐写方法。. 4 1.1 JSteg隐写。 . 4 1.1.1 主要思想: . 4 1.1.2 具体嵌入过程:. 4 1.2 F5 隐写。 . 4 1.2.1 具体嵌入过程:. 4 1.3 F4 隐写。 . 4 1.3.1具体嵌入过程:. 4 1.4 F3 隐写。
3、. 4 二、基于 MATLAB 的 F3 数字图像隐写技术。. 5 2.1 F3 隐写的原理。 . 5 2.2 F3 隐写的算法。 . 5 2.3 运用 F3 隐写技术进行信息隐藏。. 5 2.3.1 嵌入流程图。 . 5 2.3.2 实现过程。 . 6 三、讨论与分析。 . 9 3.1 对 F3 隐写技术的分析。. 9 四、附录。 . 9 4.1 使用的软件。 . 9 4.2 软件的简介。 . 9 4.3 关键代码。 . 10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页
4、,共 11 页 - - - - - - - - - 一、常用的变换域的数字图像隐写方法。1.1 JSteg隐写。1.1.1 主要思想:用秘密信息比特直接替换JPEG图像量化后DCT系数的最低比特位,但不在量化后值为0 或 1 的 DCT系数中嵌入信息。1.1.2 具体嵌入过程:(1) 部分解码JPEG图像,得到二进制存储的AC系数,判断该AC系数是否等于 1 或 0,若等于则跳过该AC系数,否则,执行下一步。(2) 判断二进制存储的AC系数的 LSB是否与要嵌入的秘密信息比特相同,若相同,则不对其进行更改,否则,执行下一步。(3) 用秘密信息比特替换二进制存储的AC系数的 LSB,将修改后的A
5、C系数重新编码得到隐密的JPEG图像。1.2 F5 隐写。1.2.1 具体嵌入过程:1) 获取载体图像,进行JPEG压缩,得到量化后的DCT系数。2) 对 1)中得到的DCT系数进行混洗。3) 对可用的 DCT系数计数, 并根据欲嵌入的秘密信息长度计算嵌入信息所使用的三元组( 1, n,k) 。4) 取出 n 个混洗后的非0 的 AC DCT系数及欲嵌入的k 比特信息,采用矩阵编码进行嵌入。a) 计算载体数据是否需要更改。若不需要,则继续下一组的嵌入;若需要,则更改相应的数据LSB 。b) 对经过更改后的数据,判断是否产生了新的值为0 的系数。若有,则此次嵌入无效,重新取出n 个可用系数,执行
6、a) ;若没有,重复执行4) ,直到秘密信息全部嵌入。5) 逆混洗,恢复DCT系数为原来的顺序。6) 生成隐密图像。1.3 F4 隐写。1.3.1 具体嵌入过程:和 F3 过程差不多,只是用正奇系数和负偶系数代表1,正偶系数和负奇系数代表 0. 1.4 F3 隐写。1) 信息嵌入式,若DCT系数的 LSB与要嵌入的秘密信息比特相同,则不作改动;否则,将该DCT系数的绝对值减1。2) 秘密信息嵌入在非0 的 DCT系数上,为0 的系数不嵌入任何信息。另外,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
7、 - - - 第 4 页,共 11 页 - - - - - - - - - 当在绝对值为1 的系数上嵌入比特0 时,会产生新的0 系数,则此次嵌入无效,在下一个系数中重新嵌入。二、基于 MATLAB 的 F3数字图像隐写技术。2.1 F3 隐写的原理。用秘密信息替换DCT系数的 LSB值。2.2 F3 隐写的算法。1) 信息嵌入式, 若 DCT系数的 LSB与要嵌入的秘密信息比特相同,则不作改动;否则,将该DCT系数的绝对值减1。2) 秘密信息嵌入在非0 的 DCT系数上,为0 的系数不嵌入任何信息。另外,当在绝对值为1 的系数上嵌入比特0 时, 会产生新的0 系数,则此次嵌入无效,在下一个系
8、数中重新嵌入。2.3 运用 F3隐写技术进行信息隐藏。2.3.1 嵌入流程图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 2.3.2 实现过程。1. 先把载体图像 123.jpg 和秘密信息文件 mi.txt拷贝到 MATLAB的工作路径下面。2. 把 MATLAB 软件打开,代码写进去,进行执行。3. 隐写后的图像和原始图像。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
9、 - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 4.隐藏前 DCT 系数矩阵。5.隐藏后 DCT 系数矩阵。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 6. 隐藏前 DCT系数直方图。7. 隐藏后的DCT系数直方图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
10、- - - - - 第 8 页,共 11 页 - - - - - - - - - 三、讨论与分析。3.1 对 F3隐写技术的分析。优点:可以抵抗卡方分析。缺点:容易被别人看出图像被修改过。四、附录。4.1 使用的软件。MATLAB 软件。4.2 软件的简介。MATLAB :MATLAB 是 matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国 mathworks 公司发布的主要面对科学计算、 可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程
11、设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C 、Fortran )的编辑模式,代表了当今国际科学计算软件的先进水平。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - MATLAB 和 Mathematica 、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界
12、面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似, 故用 MATLAB 来解算问题要比用 C,FORTRAN等语言完成相同的事情简捷得多,并且 MATLAB 也吸收了像 Maple 等软件的优点,使 MATLAB 成为一个强大的数学软件。在新的版本中也加入了对 C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB 函数库中方便自己以后调用,此外许多的 MATLAB 爱好者都编写了一些经典
13、的程序,用户直接进行下载就可以用。主要功能:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程4.3 关键代码。A = imread(123.jpg); /读取载体图像B = dct2(123.jpg,137,220); /量化 DCT 系数。C = uint8(B); /把 DCT 系数转化为整数。figure colormap(jet(256); colorbar; f_id=fopen(mi.txt); /打开秘密信息msg,len_total=fread(f_id,ubit1); /读取秘密信息。并计算大小。m,n=size
14、(C); /计算 DCT 系数矩阵的大小。if len_total m*n /判断密信息是否大于载体图像。break; end for f2 = 1:n for f1 = 1:m if C(f1,f2) = msg(p,1) /判断 DCT 系数的 LSB 是否和秘密信息比特相同。break; end C(f1,f2) = abs(C(f1,f2) - 1; /DCT 系数绝对值减1。if C(f1,f2) =0 break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页
15、,共 11 页 - - - - - - - - - C(f1,f2) = msg(p,1); /嵌入秘密信息。if p=len_total break; end p=p+1; end if p=len_total break; end end subplot(1,2,1);imshow(A);title(原始图像 ); subplot(1,2,2);imshow(1.jpg);title(隐藏信息后的图像); colormap(jet(256); colorbar; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -