本项目运用Matlab软件实现了基于离散余弦变换(DCT)的数字水印嵌入与提取算法。通过在宿主图像的DCT域内进行操作,增强了水印的鲁棒性和不可见性,并提供了源代码和实验结果分析。
基于DCT变换的数字水印算法使用carry_x.bmp作为载体图片,water_x.bmp作为水印图片,并通过test.fig图形界面展示程序运行结果。main.m是程序执行入口文件,而test.m则是该算法的主要函数。ispsnr.m用于计算峰值信噪比(虽然不会在代码中直接体现),nc.m则用来评估归一化相关系数的效果(同样不在代码中出现)。此外,Arnold1.m和Arnold2.m分别是水印置乱与还原的辅助程序;qianru.m负责嵌入水印操作,tiqu.m用于提取隐藏于载体中的信息。attack.m提供了对已嵌入水印图像进行攻击测试的功能,而HYASUO.m则是针对小波压缩处理的一个函数。