基于一级小波变换的二值图像水印低频子带嵌入与提取算法系统
项目介绍
本项目实现了一种基于一级离散小波变换(DWT)的数字水印算法系统。该系统能够将二值水印图像嵌入到宿主图像的低频子带中,并通过逆变换重构出含水印的图像;同时具备从可能遭受攻击或噪声干扰的含水印图像中提取水印信息的能力。系统采用在低频子带嵌入的策略,旨在提升水印的鲁棒性,并对嵌入强度进行了优化,以期在不可见性和鲁棒性之间达到良好平衡。
功能特性
- 水印嵌入: 将二值水印图像通过系数调制的方式嵌入到宿主图像经一级DWT分解后的低频子带中。
- 水印提取: 采用相关性检测算法,从含水印图像中有效提取出水印信息。
- 质量评估: 自动计算含水印图像的峰值信噪比(PSNR)和结构相似性指数(SSIM),量化评估嵌入水印对图像质量的影响。
- 参数可调: 提供嵌入强度系数参数,用户可根据需求调整,以控制水印的不可见性与鲁棒性。
使用方法
- 准备输入文件:
*
宿主图像: 准备一张灰度图像(推荐尺寸512×512像素,支持JPEG、PNG、BMP格式)。
*
水印图像: 准备一张二值图像(推荐尺寸为宿主图像的1/4,如128×128像素,支持BMP、PNG格式)。
- 运行系统: 执行主程序文件。程序将自动完成水印嵌入、图像重构、水印提取以及质量评估全过程。
- 查看输出结果:
*
含水印图像: 生成的含水印图像(PNG格式)保存在指定目录。
*
提取的水印: 提取出的二值水印图像(BMP格式)保存在指定目录。
*
质量评估报告: 在命令行或指定文件中查看PSNR和SSIM值。
- (可选)调整参数: 可通过修改代码中的嵌入强度系数(默认为0.1)来优化性能。
系统要求
- 软件环境: MATLAB(推荐R2018a或更高版本)。
- 硬件配置: 无特殊要求,具备运行MATLAB的标准硬件即可。
- 依赖工具包: 需要安装MATLAB的图像处理工具箱。
文件说明
主程序文件是整个系统的核心控制与执行中枢,它整合了从图像读取、预处理到水印嵌入、提取以及最终结果输出与评估的全部核心流程。具体而言,其主要功能包括协调调用离散小波变换进行图像分解与重构,实施低频子带的水印嵌入与提取算法,计算峰值信噪比和结构相似性等客观质量指标,并负责将生成的含水印图像与提取出的水印图像保存至磁盘。