基于DCT域的双图像数字水印嵌入与提取系统
项目介绍
本项目实现了一个基于离散余弦变换(DCT)域的数字水印系统,能够将二值水印图像 invisibly 嵌入到载体图像中,并在需要时无需原始载体图像即可提取出水印。系统采用中频系数量化嵌入策略,在保证水印不可见性的同时提供良好的鲁棒性。
功能特性
- 自动将载体图像分割为8×8像素块
- 对每个图像块进行二维DCT变换
- 将二值水印图像转换为二进制序列
- 通过量化DCT中频系数嵌入水印信息
- 逆DCT重构生成视觉质量良好的含水印图像
- 盲提取算法:无需原始载体图像
- 对含水印图像分块并进行DCT变换
- 根据嵌入规则提取中频系数中的水印比特
- 重建二值水印图像并评估提取质量
- 提供PSNR(峰值信噪比)评估含水印图像质量
- 提供NC(归一化相关系数)评估提取水印相似度
使用方法
- 准备输入文件
- 载体图像:JPEG/PNG/BMP格式的灰度图像
- 水印图像:二值黑白图像(建议尺寸小于载体图像的1/64)
- 运行水印嵌入
- 系统将自动处理载体图像并嵌入水印
- 生成含水印图像和嵌入质量报告
- 运行水印提取
- 输入含水印图像即可提取水印
- 系统输出提取的水印图像和相似度评估
系统要求
- MATLAB R2018a或更高版本
- Image Processing Toolbox
- 支持常见图像格式(JPEG/PNG/BMP)
文件说明
主文件作为系统核心控制器,整合了水印嵌入与提取两大功能模块。该文件负责协调图像预处理、DCT变换域处理、水印信息编码与解码全流程,同时实现质量评估指标的计算与结果可视化输出。具体包含图像分块处理、系数量化调制、水印比特序列操作等核心算法的一体化执行。