基于DCT的灰度图像盲水印嵌入与提取系统
项目介绍
本项目实现了一种基于离散余弦变换(DCT)的灰度图像频域数字水印技术。系统将伪随机实数序列嵌入到图像的DCT频域系数中,利用人类视觉系统(HVS)的掩蔽特性自适应控制嵌入强度,确保水印的不可感知性。提取过程无需原始图像参与,通过统计分析和密钥即可恢复水印信息,适用于图像版权认证与溯源场景。
功能特性
- 频域水印嵌入:采用DCT变换将水印信息嵌入到图像的中频系数,平衡不可见性与鲁棒性
- 自适应强度控制:结合HVS掩蔽模型,根据图像局部纹理特征动态调整水印嵌入强度
- 盲水印提取:无需原始图像,仅凭密钥即可提取水印序列
- 鲁棒性评估:提供对JPEG压缩、加噪、裁剪等常见攻击的抵抗能力量化指标(NC值、BER值)
- 多格式支持:支持JPG、PNG、BMP等格式的8位/16位灰度图像处理
使用方法
水印嵌入
- 准备原始灰度图像和水印生成密钥
- 设置嵌入参数:DCT块大小、频域系数选择范围、HVS权重阈值等
- 运行水印嵌入程序,生成含水印图像
水印提取
- 输入待检测的含水印图像(可能经过攻击处理)
- 提供与嵌入阶段相同的水印生成密钥
- 运行盲提取程序,获得水印序列相似度评估结果
鲁棒性测试
系统可对含水印图像施加模拟攻击(压缩、噪声、裁剪等),并计算提取水印与原始水印的归一化相关系数(NC)和误码率(BER),生成鲁棒性分析报告。
系统要求
- MATLAB R2018b或更高版本
- Image Processing Toolbox
- 支持的操作系统:Windows/Linux/macOS
文件说明
主程序文件整合了系统的核心功能模块,包括图像预处理、DCT变换域分析、基于HVS模型的水印嵌入强度计算、频域系数调制、水印序列的盲提取算法实现,以及针对各种图像处理攻击的鲁棒性测试与评估指标计算。该文件提供了完整的命令行操作界面,用户可通过参数配置实现水印嵌入、提取和性能测试的全流程处理。