【图像隐写】DWT数字水印嵌入+攻击+提取【含Matlab源码 1759期】

本文详细介绍了使用Matlab实现的基于离散小波变换(DWT)和奇异值分解(SVD)的数字水印算法,包括水印嵌入过程、提取流程以及Matlab代码示例,展示了如何提高图像处理中的信息隐藏鲁棒性。

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
在这里插入图片描述
🔊博主简介:985研究生,Matlab领域科研开发者;

🚅座右铭:行百里者,半于九十。

🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式

更多Matlab图像处理仿真内容点击👇
Matlab图像处理(进阶版)

⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!

⛄一、DWT数字水印简介

1 引言
数字水印技术发展迅速,出现了各种水印算法,最低有效位(Least Significant Bit,LSB)数字水印技术是最早的空域水印添加算法,它原理简单且易实现,但鲁棒性差。变换域水印算法大大提高了水印的鲁棒性,常见的有基于离散余弦变换(Dual Clutch Transmission,DCT)和离散小波变换(Discrete Wavelet Transform,DWT)水印算法。黄西娟、陈善学等人对于数字水印算法的研究使数字水印算法不断完善优化。综合考虑DWT和SVD的优点,本文将DWT和SVD结合起来对原载体图像进行水印的嵌入和提取。

与传统的DCT变换相比,小波变换是一种时域与频域相结合的变分辨率变换方法。时间窗口的大小随频率自动调整,更符合人的视觉特征并且小波分析在时域和频域都有很好的局部性,为传统的时域分析和频域分析提供了很好地结合方法。

目前,小波分析已广泛应用于数字图像和视频压缩编码、纹理特征识别[4]、信息隐藏[5]等领域,出现了许多典型的基于离散小波变换的数字水印算法[6]。

2 小波变换
在数字图像处理中,需要将连续的小波及其小波变换离散化。实际上,离散小波变换是将连续小波变换的尺度和位移按照2的幂次离散化而得到的,故又称二进制小波变换。

在小波分析中经常用到近似与细节,近似表示信号的高尺度,即低频信息;细节表示信号的高尺度,即高频信息。因此,原始信号通过两个相互的滤波器产生两个信号,其中高频细节系数为LH,HL,HH 3个频率的子带。通过连续分解过程,将近似信号进行连续分解,可以将信号分解成多个低分辨率的成量。理论上,这种分解可以无限地进行下去。因此,在实际应用中,一般根据信号的特征或适当的准则来选择合适的分解层数。二级离散小波分解的示意如图1所示。

3 奇异值分解
有一个m×n的实数矩阵A,想要把它分解成如下的形式:
在这里插入图片描述
其中,U和V均为单位正交阵,即有UUT=I和VVT=I,U称为左奇异矩阵,V称为右奇异矩阵,∑仅在主对角线上有值,称为奇异值,其他元素均为0。上面矩阵的维度分别为U∈Rm×n,∑∈Rm×n,V∈Rn×n。
在这里插入图片描述
图1 二级离散小波分解示意

4 水印嵌入
水印的嵌入过程具体如下,具体如图2所示。
(1)将原图像A和水印W分别进行灰度处理。
(2)对原图像灰度图进行二级离散小波变换,记为LL2。
(3)对LL2进行矩阵奇异值分解,得到Ua,Va,Sa;对水印也进行矩阵奇异值分解,得到Uw,Vw,Sw。
在这里插入图片描述
(4)加权嵌入算法公式为:Sw’=Sa+αSw,其中α表示水印嵌入强度(0<α<1)。
(5)将Sw’与步骤(3)得到Ua,Va进行SVD逆变换。
在这里插入图片描述
(6)对上一步得到的LL2’进行逆小波变换。
在这里插入图片描述
图2 水印嵌入流程
4 水印提取
水印的提取过程如下:(1)利用DWT对含水印图像A1进行二级小波变换,取出低频小波系数,记为LL2″。(2)对LL2″进行奇异值分解。[Ua1,Sa1,Va1]=SVD(LL2″)。(3)利用公式计算出Sw’:Sw’=(Sa1-Sa)/α。(4)进行SVD逆变换,即:W’=Uw×Sw’×Vw T,如图3所示。
在这里插入图片描述
图3 水印提取流程

⛄二、部分源代码

[fname,pname] = uigetfile(‘*.jpg’,‘请选择图片:’)
% ori_pic = imread(‘ori_pic.jpg’,‘jpg’);
ori_pic = imread([pname,fname],‘jpg’);
subplot(2,2,1);
imshow(ori_pic);
title(‘原图像’);

[fname,pname] = uigetfile(‘*.jpg’,‘请选择水印图片:’)
watermark = imread([pname,fname],‘jpg’);
subplot(2,2,2);
imshow(watermark);
title(‘水印图像’);

% 对原始图像进行处理:double()处理,进行小波分解 haar小波基
ori_pic_trans = double(ori_pic);
watermark_trans = double(watermark);
[Cwr,Swr] = wavedec2(watermark_trans,1,‘haar’);
[Cr,Sr] = wavedec2(ori_pic_trans,2,‘haar’);

a = 0.06;

for k = 0:1:size(Cr,2)/size(Cwr,2)-1
Cr(1+size(Cr,2)/4+ksize(Cwr,2)/4 : size(Cr,2)/4+(k+1)size(Cwr,2)/4) = Cr(1+size(Cr,2)/4+ksize(Cwr,2)/4 : size(Cr,2)/4+(k+1)size(Cwr,2)/4)+aCwr(1+size(Cwr,2)/4:size(Cwr,2)/2);
Cr(1+size(Cr,2)/2+k
size(Cwr,2)/4 : size(Cr,2)/2+(k+1)size(Cwr,2)/4) = Cr(1+size(Cr,2)/2+ksize(Cwr,2)/4 : size(Cr,2)/2+(k+1)size(Cwr,2)/4)+aCwr(1+size(Cwr,2)/2:3size(Cwr,2)/4);
Cr(1+3
size(Cr,2)/4+ksize(Cwr,2)/4 : 3size(Cr,2)/4+(k+1)size(Cwr,2)/4) = Cr(1+3size(Cr,2)/4+ksize(Cwr,2)/4 : 3size(Cr,2)/4+(k+1)size(Cwr,2)/4)+aCwr(1+3size(Cwr,2)/4:size(Cwr,2));
end
Cr(1:size(Cwr,2)/4) = Cr(1:size(Cwr,2)/4) + a
Cwr(1:size(Cwr,2)/4);

% 利用小波基重构图像
ori_pic_trans = waverec2(Cr,Sr,‘haar’);
output = uint8(round(ori_pic_trans));
subplot(2,2,3);
imshow(output,[]);
title(‘嵌入水印后的图像’);

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]王菽裕,刘璐,宋俊芳,张春玉.一种基于DWT的数字水印算法[J].无线互联科技. 2020,17(13)

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值