对BMP灰度图像文件实现水印图像的嵌入与提取,主要采用的水印算法为文件格式法和DCT变换域技术,对比这两种算法的实现效果,并实现对这两种算法性能的测试分析。
系统 | 语言 | 工具 |
---|---|---|
Windows 10 64位 |
Matlab |
MATLAB R2018a |
- 通过设计实现基于文件格式分析的水印算法,实现向bmp图像中嵌入水印并将其提取、还原的过程
- 通过设计实现基于DCT变换域技术的水印算法,实现向bmp图像中嵌入水印并将其提取、还原的过程
- 设计使用椒盐、滤波等攻击手段对实现的水印算法进行干扰攻击,测试水印算法的不可见性、鲁棒性等性能
digital_watermark.m
水印处理主模块pre_process.m
水印预处理模块file_wm.m
文件格式法主模块file_embed.m
文件格式法水印嵌入模块file_extract.m
文件格式法水印提取模块
img_wm.m
DCT变换域技术主模块img_embed.m
DCT变换域技术水印嵌入模块img_extract.m
DCT变换域技术水印提取模块
post_process.m
水印后处理模块
file_test.m
文件格式法性能测试模块img_test.m
DCT变换域技术性能测试模块wm_test.m
水印加解密测试模块wr_calculate.m
数据误码率计算函数
lena256.bmp
原始载体图像hitwh.bmp
水印图像
encode_wm.bmp
加密后的水印图像embed_wm1.bmp
嵌入水印后的载体图像(文件格式法)embed_wm2.bmp
嵌入水印后的载体图像(DCT变换域技术)watermark1.bmp
提取出的未解密水印图像(文件格式法)watermark2.bmp
提取出的未解密水印图像(DCT变换域技术)decode_wm1.bmp
解密后的水印图像(文件格式法)decode_wm2.bmp
解密后的水印图像(DCT变换域技术)medfilt_file.bmp
中值滤波攻击后的嵌入水印的载体图像(文件格式法)medfilt_img.bmp
中值滤波攻击后的嵌入水印的载体图像(DCT变换域技术)medfilt_file_wm.bmp
中值滤波攻击后提取出的水印图像(文件格式法)medfilt_img_wm.bmp
中值滤波攻击后提取出的水印图像(DCT变换域技术)noise_file.bmp
椒盐噪声攻击后的载体图像(文件格式法)noise_img.bmp
椒盐噪声攻击后的载体图像(文件格式法)noise_file_wm.bmp
椒盐噪声攻击后提取出的水印图像(文件格式法)noise_img_wm.bmp
椒盐噪声攻击后提取出的水印图像(文件格式法)
- 优化DCT变换域技术算法,以降低其水印数据误码率和抗攻击能力
- 设计更多类型的攻击方法对水印算法的性能进行测试
- 加入对彩色图像文件的水印处理模块