基于DWT(离散小波变换)的图像加密水印算法,Matlab实现

时间:2024-04-03 22:40:02

        博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188

        个人主页:Matlab_ImagePro-CSDN博客

        原则:代码均由本人编写完成,非中介,提供有偿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