MatlabCode

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

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 基于DFT的数字图像水印嵌入与提取系统

基于DFT的数字图像水印嵌入与提取系统

资 源 简 介

本项目实现了一套完整的基于DFT(离散傅里叶变换)的数字水印方案。 系统首先将原始宿主图像转换为格雷码或直接读取,通过二维离散傅里叶变换将图像从空域投影到频域,获取图像的幅度谱和相位谱。 为了保证水印的不可感知性,算法选择在幅度谱的中频分量中嵌入水印信息,因为中频区域既能避开对视觉敏感的低频区域(防止图像轮廓失真),也能避开容易被压缩过滤的高频区域(增强鲁棒性)。 嵌入过程中,系统对二值水印图像进行降维或变换处理,并利用DFT系数的共轭对称属性,同步修改对称位置的系数,确保经过逆离散傅里叶变换(IDFT)还原后的图像不产生虚数分量。 提取程序通过对含水印图像再次进行DFT变换,根据嵌入位置的系数变化特征,在不依赖原始图像的情况下(盲提取)或结合原始载体(非盲提取)还原出水印信息。 该项目包含对各种常见图像攻击的测试模块,如加噪(高斯、椒盐)、图像剪裁、旋转、亮度变换和JPEG压缩,旨在评估数字水印的生存能力和有效性。

详 情 说 明

基于离散傅里叶变换(DFT)的数字图像水印系统

项目介绍

本项目是一个基于离散傅里叶变换(DFT)实现的数字图像水印处理系统。系统通过将宿主图像变换到频域,利用频域系数的幅度分布特性,在图像的中频分量中嵌入二值化的水印信息。该方案旨在通过频域处理,在保证水印不可见性的同时,提升其在面对图像攻击(如噪声、压缩等)时的鲁棒性。

功能特性

  1. 中频域嵌入策略:算法选择在DFT幅度谱的环形中频区域嵌入信息,平衡了图像透明度与鲁棒性。
  2. 共轭对称处理:在嵌入过程中同步修改对称位置的频率分量,严格遵循DFT的共轭对称属性,确保逆变换后的图像无虚数分量。
  3. 鲁棒性压力测试:内置高斯噪声、椒盐噪声、JPEG压缩、图像裁剪、角度旋转等多种攻击模型。
  4. 定量评估指标:提供峰值信噪比(PSNR)用于衡量宿主图像质量,以及归一化相关系数(NC)用于评估提取水印的准确度。
  5. 可视化界面:系统能够自动生成对比图表,直观展示攻击前后的图像变化及对应的水印提取结果。

使用方法

  1. 启动 MATLAB 软件。
  2. 加载本项目源代码。
  3. 直接运行主程序。系统将自动加载图像并执行从水印嵌入、攻击模拟到提取分析的全流程。
  4. 在弹出的图形界面窗口中查看原始含水印图、受攻击图及对应的提取水印效果。

系统要求

  • 环境:MATLAB R2016b 或更高版本
  • 工具箱:Image Processing Toolbox(图像处理工具箱)

实现逻辑与功能细节

#### 1. 数据准备与预处理

  • 宿主图像处理:系统默认读取标准测试图(512x512 灰度级),若环境缺失特定文件,则采用内置函数生成合成图像作为载体。
  • 水印生成:系统在内部创建一个 32x32 的二值化矩阵。生成的图形为一个空心矩形,通过降维处理为列向量以便后续按序嵌入。
#### 2. 水印嵌入过程
  • 频域变换:对宿主图像执行二维快速傅里叶变换(FFT),并应用频谱平移(fftshift)将零频成分移至中心。
  • 分量选择:保留图像的相位谱(Phase)不变,仅在幅度谱(Magnitude)中操作。
  • 区域选取:定义环形半径范围(60至120像素距离),在此中频范围内根据水印长度搜索合适的嵌入位置。
  • 系数修改:采用叠加法嵌入水印,公式为:修改后的幅度 = 原始幅度 + 强度系数(alpha) * 水印位。
  • 对称性维护:为保证逆变换结果为实数图像,系统在定位到一个坐标 (u, v) 后,会计算其关于频谱中心的镜像点 (M-u+1, N-v+1),并同步修改两点的幅度值。
  • 图像重建:结合修改后的幅度谱与原始相位谱,通过逆频谱平移和二维逆傅里叶变换(IFFT)还原图像,并仅保留其实部。
#### 3. 攻击模拟模块 系统依次对含水印图像施加以下六种预设环境测试:
  • 无攻击:作为对照基准。
  • 高斯噪声:模拟信道传输或感光元件产生的随机噪声(均值0,方差0.005)。
  • 椒盐噪声:模拟由于脉冲干扰产生的噪点(密度0.02)。
  • JPEG压缩:通过图像写入与重读过程,执行质量因子为50的压缩处理。
  • 裁剪攻击:将图像左上角 100x100 区域的像素值强制设为255,模拟信息丢失。
  • 旋转攻击:对图像进行 2 度的双线性插值旋转,并保持裁剪比例,测试几何变换鲁棒性。
#### 4. 水印提取逻辑 该系统采用非盲提取算法:
  • 变换分析:对遭受攻击后的图像再次执行 DFT 变换并提取幅度谱。
  • 判定规则:依据预存的嵌入坐标,将提取到的幅度值与原始图像幅度值进行对比。若两者差异大于嵌入强度的一半(alpha/2),则判定该位水印为1,否则为0。
  • 矩阵恢复:将提取出的列向量重新排列为 32x32 的矩阵,实现水印图像的还原。

关键算法分析

  • 峰值信噪比 (PSNR):通过计算原始宿主与含水印图之间的均方误差(MSE),评估嵌入算法对载体图像质量的影响。
  • 归一化相关系数 (NC):通过计算原始二值水印与提取水印之间的内积与模长比例,衡量水印恢复的保真度。NC值越接近1,表示提取效果越好。