✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 个人主页:海神之光 代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击 Matlab图像处理(进阶版) 路径规划(Matlab) 神经网络预测与分类(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+ksize(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+3size(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) + aCwr(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 雷达方面 卡尔曼滤波跟踪、航迹关联、航迹融合

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: