欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用小波变换DWT进行数字盲水印的嵌入和提取:包括各种攻击的处理方法及Matlab代码示例

最编程 2024-01-13 09:46:12
...

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

????个人主页:Matlab科研工作室

????个人信条:格物致知。

更多Matlab仿真内容点击????

智能优化算法  神经网络预测 雷达通信 无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统

⛄ 内容介绍

数字水印技术是近年来图像保护技术研究领域的一个热点,小波变换以其良好的空频特性及与图像编码标准JPEG2000的兼容性,使得小波域水印更具鲁棒性,以及更大的嵌入容量.本文就小波水印的特点,基本算法,实验鲁棒性的结果等进行综述,实验结果表明,该方法具有较强的鲁棒性和安全性,适用于数字图像的版权保护.

⛄ 部分代码

[C S] = wavedec2(imgf,3,'haar');

wmscram = imgscram(wm,15,1);%对嵌入图像做猫变换

[wmr wmc] =size(wmscram);

LL = coef2mat(C,S,1);%重构A3低频图像

[lr lc] = size(LL);

M = lr / wmr ;

for i=1:M:lr

   for j=1:M:lc

       blk = LL(i:i+M-1,j:j+M-1);

       [u sv v]= svd(blk);

       m = round(sv(1)/q);

       d = abs(m-fix(sv(1)/q));

       wij = wmscram( (i+M-1)/M , (j+M-1)/M );

       if ( wij==0 && mod(m,2)==1 ) || (wij==1 && mod(m,2)==0)

           if d==0

               m_ast = m+1;

           end

           if d==1

               m_ast = m-1;

           end

       else

           m_ast = m;

       end

       sv_ast = m_ast * q;

       dx = sv_ast - sv(1);

       sv(1)=sv_ast;

       blk = u*sv*v';

       LL(i:i+M-1,j:j+M-1) = blk;%嵌入水印完毕

   end

end

C = coefmodify(LL,C,S);

imgg=waverec2(C,S,'haar');


end

⛄ 运行结果

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

⛄ 参考文献

[1]杨小霞. 基于小波变换的数字图像盲水印算法[J]. 兰州文理学院学报(自然科学版), 2010, 24(5):84-86.

[2]王智文, 刘美珍, 蔡启先,等. 基于小波变换的数字图像自适应盲水印算法及实现[J]. 计算机测量与控制, 2009(11):4.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料