当前位置:   article > 正文

基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真

基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

matlab2022a

3.部分核心程序

  1. .......................................................................
  2. %对水印进行置乱
  3. Marks1s = Arnold(Marks1,1,0);
  4. figure(1)
  5. subplot(131);
  6. imshow(I0,[]);
  7. title('原始图像');
  8. subplot(132);
  9. imshow(Marks1,[]);
  10. title('水印');
  11. subplot(133);
  12. imshow(Marks1s,[]);
  13. title('置乱后水印');
  14. %对图像进行处理
  15. Mwk_1st = func_wk_insert(I0,Marks1s,Power,Blksize,RR,CC);
  16. if SEL == 1
  17. %噪声攻击
  18. noise0 = 20*randn(size(Mwk_1st));
  19. Mwk_1st = double(Mwk_1st) + noise0;
  20. end
  21. if SEL == 2
  22. %旋转攻击
  23. Mwk_1st = double(imrotate(Mwk_1st,0.1,'bilinear','crop'));
  24. end
  25. if SEL == 3
  26. %剪切攻击
  27. Mwk_1st(501:800,501:800) = 255*rand(300,300);
  28. end
  29. if SEL == 4
  30. %缩放攻击
  31. Mwk_1st = imresize(Mwk_1st,1/2);
  32. Mwk_1st = imresize(Mwk_1st,2);
  33. end
  34. if SEL == 5
  35. %去除行列攻击
  36. Mwk_1st(200,:) = 255*rand(1,1024);
  37. Mwk_1st(:,400) = 255*rand(1024,1);
  38. end
  39. if SEL == 6
  40. %模糊攻击
  41. G = fspecial('gaussian', [5 5], 0.5);
  42. Mwk_1st = imfilter(Mwk_1st,G,'same');
  43. end
  44. if SEL == 7
  45. %增强攻击
  46. Mwk_1st = double((1.2*Mwk_1st));
  47. end
  48. Msg1 = func_wk_desert(Mwk_1st,Blksize,RR,CC,4);
  49. %对水印进行逆置乱
  50. Msg1s = Arnold(uint8(255*Msg1),1,1);
  51. figure(2)
  52. subplot(221);
  53. imshow(I0,[]);
  54. title('原始图像');
  55. subplot(222);
  56. imshow(Marks1,[]);
  57. title('水印');
  58. subplot(223);
  59. imshow(Mwk_1st,[]);
  60. title('加入攻击的图像');
  61. subplot(224);
  62. imshow(Msg1s,[]);
  63. title('水印提取');
  64. %%
  65. %水印提取,计算NC和PSNR
  66. Marks1 = imresize(Marks1,[RR,CC]);
  67. NC(indx) = func_nc(uint8(Marks1),uint8(Msg1s));
  68. pause(1);
  69. end
  70. figure;
  71. plot(NC,'b-o');
  72. grid on
  73. xlabel('视频帧数');
  74. ylabel('比特率');
  75. axis([0,15,0.8*min(NC),1.1*max(NC)]);
  76. save R1.mat NC
  77. 011_005m

4.算法理论概述

水印嵌入原理

       LABS方法在这里不太明确,如果指的是色彩空间转换,可能是在嵌入或提取阶段将RGB图像转换至LAB色彩空间,因为LAB空间更适合人眼对颜色的感知,有利于隐藏水印而不易察觉。

水印提取原理:

将嵌入水印的图像再次进行二维CS-SCHT变换。

提取变换后的低频系数,并按照嵌入时的规则去除宿主图像内容的影响,恢复出水印信息 Wm′​。

如果“LABS方法”涉及某种特定的解码策略,则在此步骤中可能会进一步应用相应的色彩空间处理和解码算法,以确保正确无误地还原水印信息。

5.算法完整程序工程

OOOOO

OOO

O

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/479161
推荐阅读
相关标签
  

闽ICP备14008679号