数字水印基于matlab混沌的变换域图像数字水印嵌入提取攻击(含相关性)含Matlab源码 2323期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字水印基于matlab混沌的变换域图像数字水印嵌入提取攻击(含相关性)含Matlab源码 2323期相关的知识,希望对你有一定的参考价值。

⛄一、混沌的变换域图像数字水印嵌入提取攻击简介

互联网技术的飞速发展使得数字图像等数字作品的版权保护问题越加突出。作为版权保护的重要手段, 数字水印技术应运而生。数字水印由于不可见性、安全性和鲁棒性等特征, 越来越受到广泛的重视。陆续出现了在空域、变换域的各种水印嵌入方法。不同的水印嵌入算法由于其侧重点不同, 在满足水印的各方面要求上有强有弱。研究新的能够全面考虑水印嵌入各方面需求的水印算法非常必要。

本文提出了在小波变换域进行数字水印嵌入和提取的方法。该算法将激光的菲涅耳衍射与混沌置乱技术相结合, 在小波变换域对数字图像进行水印嵌入操作。该算法结合了全息技术、混沌理论和小波变换的优点, 较好的满足了数字水印安全性和鲁棒性要求。

1 算法流程
水印嵌入是指将处理过后的水印图像通过特定方式植入原始图像中的过程。水印提取是指通过对应的方式将处理后的水印图像从嵌入了水印的结果图像中分离出来, 并恢复成水印图像的过程。水印嵌入和水印提取的过程可以表示为

其中M’为嵌入水印后的结果图像, M为未嵌入水印前的原始图像, w为水印图像, α为水印的嵌入系数, DM为水印嵌入算法, Dw为水印提取算法, []表示水印提取过程中原始图像是否参与是可选的。

水印的嵌入和提取可以在空域进行, 也可在变换域进行。空域水印是指直接在原始图像的空间域中对水印图像进行操作。变换域水印是指先对原始图像进行特定变换, 再在其中对水印图像进行操作。由于变换域水印技术较空域水印技术具有能量分散、可抗压缩攻击、与人类视觉特征符合等特点, 本文选择在变换域进行水印的嵌入操作。变换算法包括离散傅里叶变换、离散余弦变换和离散小波变换 (DWT) 等。离散小波变换较其他变换具有时频特性优良、克服块效应等特点, 选择离散小波变换作为原始图像变换算法。水印图像需要具有安全性, 这要求即使能够从结果图像中提取出水印信息, 也不能够得到正确的水印图像, 因此需要对水印图像进行加密处理, 本文通过数字全息技术和混沌置乱算法对水印图像进行加密操作。水印的嵌入准则有加性准则和乘性准则两种。本文选择乘性准则, 其嵌入和提取过程表示为

其中Xw为变换域中添加水印的结果, XO为变换域中原始图像, wO为处理后的水印图像。离散小波变换域中的数字水印技术处理流程如图1和图2所示。

图1 水印嵌入过程流程图
水印嵌入过程:

(1) 水印图像进行数字全息成像处理, 得到数字全息图。对数字全息图进行混沌置乱, 得到处理过后的水印图像。

(2) 原始图像进行离散小波变换, 得到变换域原始图像。将变换域原始图像与处理后的水印图像通过乘性叠加, 得到变换域的水印嵌入结果。

(3) 将小波变换域的水印嵌入结果进行系数重构, 通过离散小波逆变换得到嵌入水印的结果图像, 水印嵌入过程完毕。

图2 水印提取过程流程图
水印提取过程:

(1) 嵌入水印的处理和原始图像分别进行离散小波逆变换, 得到小波变换域中的水印嵌入结果和原始图像小波变换域结果。将两者进行除性分离, 得到处理过后的水印图像。

(2) 处理过后的水印图像经过混沌置乱逆变换和数字全息重构, 得到原始水印图像, 水印提取过程完毕。

2 算法数学模型
基于变换域的数字图像水印算法包括全息成像技术、混沌置乱技术和离散小波变换技术。其数学模型如下所示。

2.1 全息成像及重构
数字全息成像和重构是指利用激光的费涅耳衍射效应及其逆变换, 得到数字全息图和还原原始图像的过程。其过程示意如图3所示。

图3 全息成像和全息重构示意图
生成数字全息图时, 设水印图像为w (x, y) , 其经过距离l的传播后复振幅表示为

其中λ为激光的波长, k=2π/λ。

参考激光表示为

其中γ, β分别为参考激光的方位角和俯仰角。参考激光与传播中的水印图像衍射得到数字全息图, 数字全息图经过处理后得到处理结果H (x’, y’) 。

其中R* (x’, y’) 和W* (x’, y’) 分别为对应变量的复共轭。

全息图重构时, 设重构激光为平面波, 表示为

重构后得到水印图像的虚像wv (x, y) 和实像wr (x, y) 分别表示为

2.2 混沌置乱
混沌序列由映射参数和初始条件生成, 具有初始条件敏感性。即使采用接近的初始值, 生成的序列也完全不同, 并且具有高斯白噪声的特性。根据混沌序列来对图像的像素位置进行置乱变换, 可以实现对图像的加密操作。由于图像中像素点坐标的二维性, 采用二维Logistic变换来生成二维混沌序列。混沌置乱过程如下所示。

(1) 生成二维混沌矩阵

二维Logistic变换表示为

初始值为x’0, y’0, 其中0≤x’m, y’n≤1, 0<μx’, μy’≤4。为增加序列的混沌性, 参数μx’, μy’具有自适应可变性, 变换关系为

为使生成的混沌序列具有更强的随机性, 可以选取从第k步开始取值。假设图像大小为 (m, n) , 生成二维混沌数对Ca (x’m, y’n) 表示为

每个混沌数对与图像中的像素点对应, 混沌数对的位置即是像素点在图像中的位置。

(2) 图像位置置乱

用 (i, j) 表示各个混沌数对的位置, 1≤i≤m, 1≤j≤n。先以x’m为基准, 对y’n序列按照从小到大的顺序排序。再以y’n为基准, 对x’m序列按照从小到大排序, 得到排序后的二维混沌数对记为Cas (x’ms, y’ns) 。经过排序后, 位置为 (i, j) 的混沌数对的位置改变为 (t, h) , 将图像中位置 (t, h) 的像素点替换为位置 (i, j) 的像素点, 即完成了图像的混沌置乱。

混沌置乱逆变换时, 只需根据初始值x’0, y’0产生二维混沌数对, 将置乱图像中的各个像素点替换回排序之前的位置即可。

2.3 离散小波变换
数字图像中的离散小波变换是指将数字图像分解成四个区域上的图像, 每个图像为原图像的1/4。四个区域分别为低频子带LL、高频水平子带HL、高频垂直子带LH和高频对角子带HH, 子带示意图如图4所示。低频子带LL可以继续进行分解, 形成多级小波变换图像。本文中水印算法实现时对原始图像进行2次Haar小波变换, 在LL2中嵌入处理过后的水印图像。

图4 小波变换示意图

⛄二、部分源代码

D=imread(‘new.bmp’);
I=D;
%原始带水印图像
figure(1);
subplot(3,2,1);imshow(D,[]);title(‘原始带水印图像’);
%高斯噪声
D1=imnoise(D,‘gaussian’,0,0.001);
figure(1);
subplot(3,2,3);imshow(D1,[]);title(‘加入高斯噪声图像’);
%椒盐噪声
D2=imnoise(D,‘salt’,0.02);
figure(1);
subplot(3,2,5);imshow(D2,[]);title(‘加入椒盐噪声图像’);
%JPEG压缩攻击
imwrite(D,‘attack.jpg’,‘jpeg’,‘Quality’,15); %压缩比默认75
H=imread(‘attack.jpg’,‘jpeg’);
figure(1);
subplot(3,2,4);imshow(H,[]);title(‘压缩攻击图像’);
%旋转攻击 只能旋转1度
%R=imrotate(D,10,‘bilinear’,‘crop’);
R=imrotate(D,3,‘bilinear’,‘crop’); %‘bilinear’:双线性插值(Bilinear interpolation) ,crop保持与原图片大小一致
figure(1);
subplot(3,2,6);imshow(R,[]);title(‘旋转攻击图像’);
%剪切攻击:
D(1:256,1:128)=0;
Q2=D;

⛄三、运行结果



⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]张金荣.基于变换域的数字图像水印算法研究[J].激光杂志. 2015,36(06)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于数字水印基于matlab混沌的变换域图像数字水印嵌入提取攻击(含相关性)含Matlab源码 2323期的主要内容,如果未能解决你的问题,请参考以下文章

图像隐写基于matlab GUI变换域的可逆数字水印系统设计含Matlab源码 1813期

数字水印基于matlab DFT数字水印嵌入提取攻击含Matlab源码 2320期

数字水印基于matlab DFT数字水印嵌入提取攻击含Matlab源码 2320期

图像隐写基于matlab DWT数字水印嵌入+攻击+提取含Matlab源码 1759期

图像隐写基于matlab DCT数字水印添加+提取+干扰含Matlab源码 803期

基于Arnold置乱的数字水印图像加密算法的设计,基于Matlab语言编程,完成Arnold置乱算法,并用Matlab GUI工