【图像隐写】GBT+SVD数字水印嵌入与提取【含Matlab源码 1668期】

news2024/11/25 14:35:35

⛄一、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(256256,6464);
%% Block Selection (Embedding Step):
c=0;
Watermarked_B=B;
for i=1:64:6464-63
c=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©==1
S(1)=sigmaB+gf;
else
S(1)=sigmaB-gf;
end
reference{i}=S;
coeffs=U
SV; % inverse svd
rec_gt_block=zeros(8);
rec_gt_block(gt_idx)=coeffs;
rec_block=iGT2(rec_gt_block); % inverse gt
row_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-63
c=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 - Host
sigmaBW=Sbw(1); % Biggest Singular Value - Watermarked
% Extracting watermark image:
if sigmaBW>sigmaB
Ex_watermark©=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]宋俊辉,鲁骏.彩色图像数字水印嵌入和提取模型研究——基于DWT和DCT[J].现代商贸工业. 2011,23(17)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

青春不过,几次世界杯,足球让我明白,努力的方向

人生就像足球&#xff0c;你不会永远进球&#xff0c;但会一直跑在路上&#xff01;直到遇到足球&#xff0c;我的人生彻底改变&#xff0c;我很记得我第一个足球的样子&#xff0c;在我心里&#xff0c;它就像一颗糖果 ——梅西⚽️ 随着2022卡塔尔世界杯的开赛&#xff0c;各…

GitHub上架即巅峰,《Spring Cloud微服务架构实战》标星已超30k

有人调侃我们说&#xff1a; 程序员不如送外卖。送外卖是搬运食物&#xff0c;自己是搬运代码&#xff0c;都不产出新的东西……透支体力&#xff0c;又消耗健康&#xff0c;可替代性极强&#xff0c;30岁之后就要面临被优化的危险……想跳槽&#xff0c;但是更高的平台难进&a…

R 两组样本t检验 wilcoxon检验、卡方、fisher精确检验

一般统计方法R实现 文章目录一、读入数据二、连续性变量1.正态性和方差齐性检验2.描述统计量3.独立样本t检验和wilcoxon秩和检验三、四格表卡方或fisher精确检验&#xff08;OR【95%CI】&#xff09;1.计算各组频数和相对频率2.整理数据进行检验总结一、读入数据 library(read…

#Linux杂记# grep 查找命令常用选项大全(一)

今天&#xff0c;难得好天气&#xff0c;过去阴雨绵绵几天&#xff0c;确实干什么都没多少心劲。 对于Linux 指令&#xff0c;其实工作中用的也就那么多&#xff0c;但是真正用的很6的&#xff0c;确实给我们工作效率带来极大提高。 -i&#xff1a;在搜索的时候忽略大小写。 …

数据技术篇之离线数据开发

第4章 离线数据开发 采集系统采集的大量数据只有被整合计算后才能用于洞察商业规律&#xff0c;挖掘潜在的信息&#xff0c;实现其价值。面对海量的数据和复杂的计算&#xff0c;阿里巴巴的数据计算层包括两大体系&#xff1a; 数据存储及计算平台&#xff08;离线计算平台MaxC…

【OpenCV-Python】教程:4-8 ORB (Oriented FAST and Rotated BRIEF)

OpenCV Python ORB (Oriented FAST and Rotated BRIEF) 【目标】 理解 ORB 的基础理论 【理论】 ORB 来自于 OpenCV 实验室&#xff1b;在ICCV2011的论文 “ORB: An efficient alternative to SIFT or SURF” 提出&#xff0c;是 SIFT 和 SURF 的替代&#xff0c;没有专利问…

Java解析XML-JDK

JAXB 概述 JAXB&#xff08;Java Architecture for XML Binding&#xff09;是J2SE和J2EE平台的一部分&#xff0c;让开发者能够快速完成Java类和XML的互相映射。 JAXB 允许Java人员将Java类映射为XML表示方式。其实&#xff0c;JAXB是一个业界标准&#xff0c;是一项可以根据X…

企业景气指数、企业家信心指数-季度数据(2005-2022年)

&#xff08;2005-2022年&#xff09; 企业景气指数&#xff08;企业综合生产经营景气指数&#xff09;是根据企业负责人对本企业综合生产经营情况的判断与预期而编制的指数&#xff0c;用以综合反映企业的生产经营状况。 企业家信心指数综合反映企业家对宏观经济的看法和信心…

【Make YOLO Great Again】最终版本YOLOv1-v7全系列大解析(全网最详细汇总篇)

Rocky Ding公众号&#xff1a;WeThinkIn写在前面 【Make YOLO Great Again】栏目专注于从更实战&#xff0c;更深刻的角度解析YOLOv1-v7这个CV领域举足轻重的算法系列&#xff0c;并给出其在业务&#xff0c;竞赛以及研究维度的延伸思考。欢迎大家一起交流学习&#x1f4aa;&am…

node+vue基于微信小程序的乐团团购系统的设计与实现

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

Stm32旧版库函数4——nrf24l01 32位数据发送接受

stm32 32位 发射&#xff08;硬件SPI 引脚重映射&#xff09;&#xff1a; #include "stm32f10x_lib.h" #include "sys_config.h" #include "usart.h" #include "nrf.h" #include "delay.h" extern u8 TX_ADDRESS[TX_ADR_…

在Windows OS中安装与配置Scala的IDE环境

在Windows OS中安装与配置Scala的IDE环境一、Scala的安装过程二、Scala与IDE的集成一、Scala的安装过程 &#xff08;1&#xff09;下载与安装Scala软件 以下有个帖子&#xff0c;其详细记录了Window系统在安装Scala的步骤&#xff0c;可供读者参考&#xff0c; Window系统详…

jmeter的安装和简单使用

jmeter的安装和简单使用 Jmeter是一款优秀的开源测试工具&#xff0c;就算是开发也要了解一下。 下载 window下载zip包即可 下载地址&#xff1a; https://jmeter.apache.org/download_jmeter.cgi <img src“https://cdn.jsdelivr.net/gh/cloudinwinter/myimagemaster/…

COVID应对小tips

不信谣不传谣&#xff0c;只是自己的一点记录&#xff0c;有引用到各位大佬的内容&#xff0c;侵删&#xff0c;感谢感谢&#xff0c;对自己可以理中客&#xff0c;对别人还是尽可能主观上的友好&#xff0c;不要慷他人之慨。 准备 喉咙刺痛方面&#xff1a;柠檬&#xff08;…

【简化版蒙板扣图】带你轻松走进OPENCV蒙板扣图的世界

蒙板扣图的学习目标&#xff1a; 图像素材&#xff1a; 本操作适用图片&#xff1a; -前景清晰&#xff0c;背景模糊的原始图片 自定义库&#xff1a; 把OPENCV中的干扰理解的部分&#xff0c;制作成独立的库文件&#xff0c;这样学友们就可以轻松的理解蒙板扣图的真正含义…

C语言:分支与循环语句

文章目录一.什么是语句二.控制语句三(一).分支语句if-else3.1if3.2if-else3.3if-else嵌套3.4悬空else3.5if语句判断的流程3.6if语句可能会犯的小错误三(二).分支语句switch四.循环语句4.1while语句4.2do while语句4.3for语句4.4一道简单又不简单的小题目4.5循环总结4.6循环上的…

Opencv中关于特征点匹配定位的问题(一)DMatch解析

Opencv中关于特征点匹配定位的问题回顾定位回顾 在我们检测到特征点之后&#xff0c;通常进行特征点的匹配。 首先我们先回顾一下使用Brute-Force匹配器来进行匹配。 import cv2 import numpy as np import matplotlib.pyplot as plt#读取图片 imgcv2.imread(./newmm.png) te…

宝藏软件Obsidian知识体系搭建,免费的多端云同步

宝藏软件Obsidian知识体系搭建&#xff0c;免费的多端云同步。 为什么推荐Obsidian 人很奇怪,在关注短期目标的时候,会有成功失败之说,但是如果关注体系呢&#xff1f;就不那么会在乎短期收益了. 为什么呢&#xff1f;因为体系可能会创造强大的滚雪球效应. 使用笔记软件颇多…

如何针对时间片论法进行优化

前言 通过该篇学习了嵌入式的任务调度&#xff08;即时间片论法&#xff09;后&#xff0c;了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务&#xff0c;那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源&#xff0c;姑且先称这种方式为时间片差分…

一致性hash算法

目录 1.业务场景 2.传统hash算法 2.一致性hash算法 2.1.算法过程 2.1.一直性hash算法的优点 2.2.一致性hash算法的缺点 2.3.hash倾斜的解决办法 1.业务场景 假设有30000张图片需要存放到编号为1、2、3的3台服务器上。 2.传统hash算法 假设有30000张图片需要存到3台服务器…