1 简介
针对嵌入水印强度的不确定性,提出了一种利用果蝇优化算法并结合小波变换与奇异值分解的数字图像水印嵌入算法。首先,利用小波变换对载体图像进行二级小波分解,然后对 LL2 子带进行4 × 4 分块并进行奇异值分解以提高嵌入水印的稳定性,最终将水印信息以一定的强度嵌入到分解的最大奇异值中。果蝇优化算法综合考虑水印嵌入算法的鲁棒性与不可见性之间的矛盾,并结合水印嵌入方案确定最佳嵌入强度,首先根据影响水印性能的指标定义适应度函数,并对该函数的参数进行优化,确定了最佳的适应度函数,然后再应用果蝇优化算法寻找嵌入水印强度的最优解。最后通过仿真实验对该水印方案的性能进行测试与分析,实验结果表明,当嵌入水印图像的峰值信噪比达到 40 dB 时,提取水印的平均 NC 值能达到 0. 98 以上。
2 部分代码
clc clear all close all %% 水印嵌入 I=imread('lena.bmp'); %载入载体图像 I=im2double(I); I=rgb2gray(I); %转为灰度图 [LL,LH,HL,HH]=dwt2(I,'haar'); %载体图像dwt变换 [LL2,LH2,HL2,HH2]=dwt2(LL,'haar'); [Ul,Sl,Vl]=svd(LL2); %低频分量SVD分解 [Uh,Sh,Vh]=svd(HH2); %高频垂直分量SVD分解 plot(yy) xlabel('迭代次数') ylabel('适应度函数') af=S_best; %嵌入量 S2=Sl+af*Sw; %水印图的奇异值矩阵Sw以af嵌入量加到载体图像LL子代的奇异值矩阵S上 LL3=Ul*S2*Vl'; %嵌入后新的低频分量 Ww=A2; %载入水印图像 Ww=im2double(Ww); [Uww,Sww,Vww]=svd(Ww); %水印图SVD分解 az=af; %嵌入量 S2h=Sh+az*Sww; %水印图的奇异值矩阵Sww以az嵌入量加到载体图像HH子代的奇异值矩阵S上 HH3=Uh*S2h*Vh'; %嵌入后新的低频分量 LL=idwt2(LL3,LH2,HL2,HH3,'haar'); %dwt逆变换得到含水印图 IW=idwt2(LL,LH,HL,HH,'haar'); imwrite(IW,'watermarked.png'); figure(2);subplot(331);imshow(I);title('载体图像'); subplot(332);imshow(Z);title('秘密图像'); subplot(333);imshow(W);title('第一个水印图像'); subplot(334);imshow(Ww);title('第二个水印图像'); subplot(335);imshow(IW);title('含水印图'); %旋转攻击 % IW1 = imread('watermarked.png'); Aimage4=IW; Aimage4=imrotate(Aimage4,5,'bilinear','crop'); Aimage_4=mat2gray(Aimage4); J=Aimage_4; % imwrite(WZ,'watermarked11.png'); subplot(336),imshow(J),title('旋转后的图象'); %% 水印提取 % J=imread('watermarked11.png'); %读取含水印图 J=im2double(J); [LL4,LH4,HL4,HH4]=dwt2(J,'haar'); %含水印图dwt变换 [LL5,LH5,HL5,HH5]=dwt2(LL4,'haar'); [U3,S3,V3]=svd(LL5); %低频分量SVD分解 [U4,S4,V4]=svd(HH5); %高频垂直分量SVD分解 Sw1=(S3-Sl)/af; %得到提取水印图的奇异值矩阵 W2=Uw*Sw1*Vw'; %SVD逆变换得到提取水印图 subplot(337);imshow(W2);title('提取第一个水印图'); Sww1=(S4-Sh)/az; %得到提取水印图的奇异值矩阵 W3=Uww*Sww1*Vww'; %SVD逆变换得到提取水印图 subplot(338);imshow(W3);title('提取第二个水印图'); A12=W|Ww; W=1-W; Ww=1-Ww; A12=1-A12; subplot(339);imshow(A12);title('恢复秘密图像'); Nc1=NC(A1,W2) Nc2=NC(A2,W3) psnr1=psnr(A1,W2) psnr2=psnr(A2,W3) disp(['最佳嵌入强度=',num2str(S_best)])
3 仿真结果
4 参考文献
[1]刘俊秀等. "一种基于小波变换,奇异值分解,海森堡分解和果蝇优化算法的图像隐藏方法.", CN108182655A. 2018.