一.实验目的
1.熟悉DCT域图像信息隐藏的基本原理;
2.用Matlab实现图像DCT域的信息隐藏与信息提取算法。
二.实验设备
1.PC机一台;
2.Matlab软件。
三.实验内容
1.DCT图像隐写实验。
1)提前准备载体图像和待隐藏信息
载体图像:
待隐藏信息:
2)编写DCT图像隐写算法,将待隐藏的信息隐写至载体图像,得到伪装图像;
算法如下:
1.图像随机像素位置生成函数
该函数主要用作辅助隐藏算法操作图像,生成随机像素位置。
2.DCT信息隐藏算法
3)在视觉上对载体图像和伪装图像进行比较,进一步用直方图对二者进行更详细的比较和分析。
实验结果如下图:
2.DCT图像隐写的提取实验。
1)编写DCT图像隐写的提取算法,提取上面所得到伪装图像中的隐藏信息,将其与隐写之前的信息进行比较;
隐写提取算法:
通过算法得到含有提取信息的文件:“恢复.txt”
提取到的信息与原隐藏信息一致。
2)选择不同的控制参数H,比较隐写效果与信息提取的正确性之间的关系,总结H在DCT隐写与提取算法中的作用。
第一次用的控制参数H值为0.2,现在将值改为3,执行上述流程。
首先得到伪装图像产生了噪点:
进行信息提取,得到提取信息与隐藏信息一致。
将参数改为0.1,再执行一遍
伪装图像没有变化,提取的信息也与隐藏信息一致。
将参数改为0.000001,再执行一遍
伪装图像没有变化,提取的信息发生错误。
由此得出H在DCT隐写与提取中会影响到伪装图的状态。H越大越健壮,但是会有视觉影响。反之,如果太小,视觉影响不大,但是可能抵抗不了小的修改。