MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 基于计算全息的半色调图像信息隐藏与水印系统

基于计算全息的半色调图像信息隐藏与水印系统

资 源 简 介

本系统旨在实现一种结合计算全息技术与半色调处理的信息隐藏与数字水印方案。项目首选对待隐藏的秘密信息进行预处理,通过计算全息算法(如Gerchberg-Saxton阶段恢复算法或离散傅里叶变换)将其转换为计算全息图,使秘密信息分布于全息图的相位或振幅中。随后,利用半色调技术(如误差扩散法、抖动法或直接二进制搜索算法)将输入的连续调宿主图像转换为由黑白像素组成的半色调图像。在半色调图像的生成过程中,系统通过调制算法将计算全息图的信息嵌入到宿主图像的像素分布中。该方法充分利用了人眼视觉系统的受限特性的遮蔽效应,

详 情 说 明

基于计算全息的半色图像信息隐藏系统

本系统是一套结合了计算全息技术(Computer-Generated Holography, CGH)与误差扩散半色调(Halftoning)处理的数字水印方案。通过将秘密信息转化为全息图,并将其嵌入到半色调图像的像素分布中,实现了信息的高度隐蔽性与强鲁棒性。

项目介绍

本项目利用计算全息图的冗余性特征,结合人眼视觉系统的受限特性,开发了一套从信息生成、嵌入到提取的完整流程。系统首先将文本或图形形式的秘密信息通过改进程度的Gerchberg-Saxton(GS)算法转换为相位全息图,随后在生成宿主图像的半色调表现形式时,通过动态阈值调制策略将全息信息“缝合”进黑白网点的分布规律中。

功能特性

1. 相位全息信息变换 利用迭代反馈算法将二维秘密信息编码为纯相位全息图,确保信息在频域内均匀分布。通过多次迭代计算,使得重构出的秘密信息具有较高的保真度。

2. 动态阈值半色调嵌入 基于Floyd-Steinberg误差扩散算法,系统在将连续调图像转换为二值半色调图像的过程中,引入了动态阈值机制。全息图的相位信息通过影响当前的量化阈值,直接控制了半色调网点的生成,使信息分布在整个宿主图像的空间中。

3. 数值重构与提取 系统无需原始宿主图像即可实现盲提取。通过对含秘的半色调图像执行特定平面的傅里叶变换,即可在频谱面上直接还原出隐藏的秘密信息图像。

4. 自动化性能评估 系统自动计算并展示三项关键指标:

  • PSNR(峰值信噪比):衡量含秘半色调图像相对于原始宿主图像的视觉保真度。
  • SSIM(结构相似性):从亮度、对比度和结构三方面评估图像质量。
  • NC(归一化相关系数):评估提取出的秘密信息与原始秘密信息的一致性。

实现逻辑

系统运行遵循以下核心流程:

第一步:图像预处理 程序读取宿主图像(如cameraman.tif)并统一调整尺寸。同时,通过绘制文字掩模生成包含“HIDDEN”字样的二值秘密图像。

第二步:计算全息图生成 采用Gerchberg-Saxton迭代算法:

  1. 给定初始随机相位和目标秘密信息的振幅。
  2. 在空域与频域之间进行30次快速傅里叶变换(FFT)迭代。
  3. 在频域强制幅度约束为常数,从而获得相位全息图。
  4. 将生成的相位信息归一化至[0, 1]区间。

第三步:信息隐藏与半色调化

  1. 遍历宿主图像的每一个像素。
  2. 将当前像素值与来自相邻像素扩散而来的误差相加。
  3. 嵌入逻辑:计算动态阈值。基准阈值为0.5,根据对应位置的相位全息图数值(0~1)进行微调。计算公式为:动态阈值 = 0.5 + (全息值 - 0.5) * 嵌入强度。
  4. 进行二值量化(0或1)。
  5. 按照Floyd-Steinberg系数(右: 7/16, 左下: 3/16, 下: 5/16, 右下: 1/16)进行误差扩散。

第四步:信息提取 对生成的含秘半色调图像进行二维快速傅里叶变换(FFT),对变换后的频谱取模(绝对值),通过对比度增强处理后获得重构的秘密信息图像。

关键函数与算法分析

1. Gerchberg-Saxton (GS) 算法 这是实现全息图生成的关键。通过在频域强加“纯相位”约束,算法能够寻找出一种相位分布,使得其衍射场(频谱)的强度分布尽可能接近秘密信息。这保证了秘密信息呈分布式存储,增强了抗裁剪能力。

2. Floyd-Steinberg 误差扩散算法 这是半色调处理的核心。它通过将当前的量化误差传递给周围像素,保证了图像在大尺度上的灰度平均值与原始图像一致,从而产生高质量的视觉效果。

3. 动态阈值调制技术 这是本项目最核心的创新点。它将全息图的每一个点作为变量因子,微调半色调的决策边界。这种调制方式极小地改变了图像的局部网点排布,在肉眼难以察觉的情况下完成了信息的“空间-频域”映射。

4. 评价指标计算逻辑 系统内置了SSIM计算逻辑,通过计算均值、方差及协方差,综合评估图像质量;NC指标则通过对提取出的图像进行二值化处理,计算其与原秘密信息的点积相关度。

使用方法

  1. 确保安装了MATLAB环境。
  2. 将宿主图像文件(如程序中指定的'cameraman.tif')置于工作目录下,或修改代码中的文件读取路径。
  3. 运行主程序。
  4. 运行结束后,系统将弹出窗口展示:原始宿主图、秘密信息、生成的全息图、含秘后的半色调图像、重构出的秘密信息以及性能指标面板。

系统要求

  • 软件支持:MATLAB R2016b 或更高版本。
  • 硬件要求:标准PC环境,由于涉及多次FFT运算,建议内存4GB以上。
  • 依赖项:主要使用MATLAB内置的图像处理数学库。程序中已内置了针对文字插入和SSIM计算的兼容性函数,减少了对外接工具箱(如Image Processing Toolbox)的强制依赖。