一、SVD数字水印简介

理论知识参考文献:基于DWT和SVD的彩色图像数字水印算法研究
一种基于DWT-SVD的图像数字水印算法

二、部分源代码

clc
close all
clear
%% Input images
I=imread('Lena.jpg');
I=imresize(I,[512,512]);
logo=randsrc(8,8,[0,1]);figure
subplot(1,4,1)
imshow(I)
title('原始图片')
subplot(1,4,2)
B=I(:,:,3); % Blue Channel
imshow(logo)
xlabel('水印图片')
gf=100; % Watermark Strength
n_gt=64; % <=64
zigzag=[1 9 2 3 10 17 25 18 11 4 5 12 19 26 33 41 34 27 20 13 6 7 14 21 28 35 42 49 57 ...50 43 36 29 22 15 8 16 23 30 37 44 51 58 59 52 45 38 31 24 32 39 46 53 60 61 54 47 40 48 55 62 63 56 64];
gt_idx=zigzag(1:n_gt);
%% key generation:
key=randperm(256*256,64*64);
%% Block Selection (Embedding Step):
c=0;
Watermarked_B=B;
for i=1:64:64*64-63c=c+1;block_index=key(i:i+63);blockB=double(reshape(B(block_index),[8,8]));% graph-based transform:gt_blockB=GT2(blockB);% Singular Value Decomposition:[U,S,V]=svd(gt_blockB(gt_idx));sigmaB=S(1); % Biggest Singular Value% embedding watermark image:if logo(c)==1S(1)=sigmaB+gf;elseS(1)=sigmaB-gf;endreference{i}=S;coeffs=U*S*V; % inverse svdrec_gt_block=zeros(8);rec_gt_block(gt_idx)=coeffs;rec_block=iGT2(rec_gt_block); % inverse gtrow_block=reshape(rec_block,1,64);Watermarked_B(block_index)=row_block;
end
Watermarked_image=I;
Watermarked_image(:,:,3)=Watermarked_B;
subplot(1,4,3),
imshow(Watermarked_image);
title('嵌入水印的图片')
%% Extraction Step
Ex_watermark=zeros(8);
Watermarked_B=Watermarked_image(:,:,3);
c=0;
for i=1:64:64*64-63c=c+1;block_index=key(i:i+63);blockB=double(reshape(B(block_index),[8,8]));% graph transform:gt_blockB=GT2(blockB);% Singular Value Decomposition:[Ub,Sb,Vb]=svd(gt_blockB(gt_idx));Sbw=reference{i};sigmaB=Sb(1); % Biggest Singular Value - HostsigmaBW=Sbw(1); % Biggest Singular Value - Watermarked% Extracting watermark image:if sigmaBW>sigmaBEx_watermark(c)=1;end
end
subplot(1,4,4),
imshow(Ex_watermark)
xlabel('提取水印');
Bit_Error_Rate=sum(sum(Ex_watermark~=logo))/numel(logo)
Structure_Similarity_Index=ssim(Watermarked_image,I)
Peak_Signal_toNoise_Ratio=psnr(Watermarked_image,I)

三、运行结果


四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋俊辉,鲁骏.彩色图像数字水印嵌入和提取模型研究——基于DWT和DCT[J].现代商贸工业. 2011,23(17)

【图像隐写】基于matlab GBT+SVD数字水印嵌入与提取【含Matlab源码 1668期】相关推荐

  1. 【图像隐藏】基于DCT和FFT数字水印嵌入+攻击+提取含Matlab源码

    1 简介 文章对DCT(离散余弦变换)和FFT域图像数字水印算法进行了研究,并用matlab工具进行实验,结果表明该算法使水印的嵌入达到了较好的鲁棒性和不可见性.​ 2 部分代码 function [ ...

  2. 【图像隐藏】基于DCT算法实现数字水印嵌入+检测+攻击含Matlab源码

    1 简介 介绍了数字水印的产生.发展及其应用,讨论了数字水印的分类,提出了图像的预处理思想,利用MATLAB中的剪切函数.缩放函数,以及调整图像直方图的方法对图像进行预处理,并用MATLAB进行了仿真 ...

  3. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  4. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  6. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  7. 【Matlab语音隐写】DCT+DWT音频数字水印嵌入提取【含GUI源码 836期】

    一.代码运行视频(哔哩哔哩) [Matlab语音隐写]DCT+DWT音频数字水印嵌入提取[含GUI源码 836期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...

  8. 【Matlab语音隐写】DWT音频数字水印【含GUI源码 712期】

    一.代码运行视频(哔哩哔哩) [Matlab语音隐写]DWT音频数字水印[含GUI源码 712期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  9. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  10. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

最新文章

  1. Python字典部分源码分析,字典是无序的
  2. 我们用了两年的敏捷开发工具
  3. iis日志转到sql存储
  4. 准备入门IC的全局观念系列-中
  5. java 分布式任务_一个简单的基于 Redis 的分布式任务调度器 —— Java 语言实现...
  6. C语言删除链表的算法(附完整源码)
  7. CF思维联系–CodeForces-217C C. Formurosa(这题鸽了)
  8. springboot 控制台程序读取配置文件(原创)
  9. java日期时间各种变换及处理
  10. 网上图书商城Web页面
  11. FGSM攻击机器学习模型
  12. pythonmapdel_地质男转行学遥感Python——遥感数据裁剪的具体实现
  13. redis 源码全解析
  14. 7-2 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承) (10 分)
  15. rrd文件导入mysql_RRDtool 系列连载-5 :查询 RRD 数据库信息
  16. 海量数据荣获华为“中国政企数据存储优秀合作伙伴”金奖
  17. html表格标题中副标题,excel数据表格制作副标题-如何在excel图表中添加标题?
  18. 机器学习流程(三)-特征工程
  19. Python内置函数、匿名函数
  20. python概率密度函数参数估计_Python与项目反应理论:基于EM和MCMC的参数估计算法...

热门文章

  1. 在Centos7上配置docker运行DotNetCore项目
  2. Software--WCF
  3. 小甲鱼C++笔记(上)1-24
  4. 转:孩子,上学去!乖
  5. python pip 安装 win10 解决anacoda代理错误 ProxyError: Conda cannot proxy configuration
  6. 190817每日一句
  7. 多个kinect标定,颜色和深度的标定
  8. 芝加哥大学终身教授:自然科学与社会科学的真正区别
  9. 深度学习资料整理(深度神经网络理解)
  10. 影视】100种说爱你的方式~