编辑
2026-05-30
信息隐藏实验报告
00

目录

实验三:二值图像信息隐藏实验
实验目的
实验内容
实验步骤
实验分析

实验三:二值图像信息隐藏实验

实验目的

  1. 理解二值图像信息隐藏的难点与基本原理,掌握图像块与游程编码两种方法。
  2. 学会使用MATLAB进行图像处理,运行特定的隐写脚本。
  3. 掌握基于黑白像素比例和游程长度奇偶性的信息嵌入与提取技巧。
  4. 对比不同算法的视觉效果,评估信息隐藏对载体图像质量的影响。

实验内容

  • 二值图像分块隐藏实验:运行binhiding.m脚本,将图像分块,通过修改块内黑白像素比例来嵌入秘密信息,观察图像视觉变化。
  • 游程编码隐藏实验:运行RLEhiding.m脚本,利用二值图像游程长度的奇偶性编码信息,微调像素值以实现隐写。
  • 隐藏效果对比分析:通过修改hidden.txt文件中的秘密信息内容,对比两种算法在不同数据量下的隐写效果和视觉失真度。

实验步骤

步骤1: 启动MATLAB并配置环境。在操作机桌面找到并双击“MATLAB R2014a”图标启动软件。在软件界面上方的地址栏中输入实验目录路径D:\1、信息安全\4、信息内容安全\23信息隐藏课程\12.二值图像信息隐藏实验\hongya,点击旁边的搜索按钮,将“当前文件夹”切换至指定目录。

步骤2: 执行分块法信息隐藏。在左侧“当前文件夹”栏中,找到并双击打开binhiding.m脚本文件。点击编辑器工具栏上的“运行”按钮。程序运行后,弹出结果显示窗口,展示了原始图像和经过分块隐藏后的伪装图像。仔细观察两幅图像,可以发现在隐藏信息后,图像在黑白交界处存在较为明显的噪点和痕迹,视觉效果受损较大。

步骤3: 执行游程编码法信息隐藏。在文件列表中找到RLEhiding.m脚本,双击打开并点击运行。程序弹出新的显示窗口,展示游程编码算法处理后的图像。对比观察发现,采用游程编码方法生成的伪装图像与原始载体图像在视觉上差别极小,几乎无法用肉眼察觉到修改痕迹,隐写效果优于分块法。

步骤4: 修改隐藏信息内容。为了进一步验证算法性能,打开实验主目录下的hidden.txt文件。将文件中的秘密信息修改为“0123456789”并保存。这一步增加了需要隐藏的信息容量,以便观察算法在处理不同长度数据时的表现。

步骤5: 验证修改后的效果。再次运行RLEhiding.m脚本,将新的秘密信息嵌入图像。观察输出结果,确认即使隐藏了更长的数字串,图像依然保持了良好的视觉效果,没有出现明显的分块痕迹。这验证了游程编码方法在二值图像隐写中具有较好的隐蔽性和较大的信息容量。

实验分析

实验结果: 实验对比了两种二值图像信息隐藏算法。分块法虽然实现了信息嵌入,但由于强制修改像素颜色以满足黑白比例,导致图像产生了明显的视觉失真,破坏了载体的真实感。而游程编码法通过调整游程长度的奇偶性来嵌入信息“0123456789”,成功地在保持图像视觉质量不变的情况下完成了隐写,提取出的秘密信息准确无误。

个人收获: 通过本次实验,我掌握了MATLAB在图像隐写中的应用,熟悉了binhiding.mRLEhiding.m脚本的运行机制。我深刻理解了二值图像由于只有黑白两色,冗余度极低,因此对隐藏算法的要求很高。游程编码利用像素的连续性特征进行微调,比简单的分块修改更具优越性。这次实验不仅提升了我的实操能力,也让我对信息隐藏中“不可感知性”这一核心要求有了更直观的认识。

本文作者:Linxiong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!