博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188)
原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则的事。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本次分享的是基于DWT(离散小波变换)的图像加密水印算法,用matlab实现。
一、案例背景介绍
前期的博文中,我们介绍了DWT、DCT、LSB等经典的数字水印算法,并对数字水印的背景、算法分类情况等做了比较详细的介绍,前期链接如下:
基于DWT(离散小波变换)的图像水印算法(基于DWT(离散小波变换)的图像水印算法,Matlab实现-CSDN博客)
基于DCT(离散余弦变换)的图像水印算法(基于DCT(离散余弦变换)的图像水印算法,Matlab实现-CSDN博客)
基于LSB(最低有效位)的图像水印算法(基于LSB(最低有效位)的图像水印算法,Matlab实现-CSDN博客)
前期介绍过的组合混度加密相关算法,链接如下:
基于组合混沌映射的图像加密算法(基于组合混沌映射的图像加密算法,Matlab实现_图像加密中spm是什么-CSDN博客)
这次我们分享的图像水印与图像加密相结合的算法,基于DWT(离散小波变换)的图像加密水印算法。
二、算法原理概述
在前面的数字水印相关博文中,采用的是直接嵌入图像水印的方法,不同算法的差异是嵌入方式的不同。这次介绍的加密水印,先通过一定的加密算法,将水印图像进行加密,然后再通过传统经典的算法进行加密后水印的嵌入,增强了水印信息的保密性。算法原理上,本次水印图加密算我们采用的是logistic算法混沌加密,嵌入算法采用DWT(离散小波变换)算法。当然,各位同学也可以采用DCT等嵌入方式,原理大同小异了。
三、原理流程
嵌入过程:
1、读取待嵌入的原图和水印图像
2、对水印进行加密,使用logistic混沌算法置乱加密
3、嵌入水印部分,使用DWT水印算法(前期博文有细说DWT算法,这里不再粘贴嵌入细节步骤)
提取过程就是嵌入的逆过程,具体如下:
1、读入嵌入水印后的的图像
2、通过DWT算法,提取水印,得到待解密的水印图像
3、将提取的水印解密,采用logistic混沌算法置乱解密,提取完成
四、Matlab实现效果
嵌入:




提取过程:



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
专注、专一于Matlab图像处理学习、交流、代做
QQ:3249726188