当前位置 : 主页 > 编程语言 > python >

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 提出了一种将灰度图像嵌入到音频信号的数字水印算法.该算法以包含丰富信息的灰度图像作为数字水印 , 首先利用 DC T静态图像压缩技术 ,将二维数字水印 (灰度图像 )编码成一维

1 简介

提出了一种将灰度图像嵌入到音频信号的数字水印算法.该算法以包含丰富信息的灰度图像作为数字水印 , 首先利用 DC T静态图像压缩技术 ,将二维数字水印 (灰度图像 )编码成一维二进制序列并进行随机置乱 ,再对数字音频 信号进行分段处理并依据人类听觉系统 ( HAS)择段做离散余弦变换 ( DCT) ,最后在离散余弦变换域内通过修改中高 频 DCT系数完成水印信息的自适应嵌入 .实验结果表明: 该自适应数字音频水印算法不仅具有较好的透明性 ,而且对 诸如叠加噪声、有损压缩、低通滤波、重新采样、重新量化等攻击均具有较好的鲁棒性.

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_数字水印

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_灰度图像_02

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_数字水印_03

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_数字水印_04

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_自适应_05

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_数字水印_06

2 部分代码

function exteredmark=extract(MarkedX,wrow,wcol)
%水印提取----------------------------------------
[cm,lm]=wavedec(MarkedX,2,'db4'); %
cma2=appcoef(cm,lm,'db4',2); %
cmd2=detcoef(cm,lm,2); %
cmd1=detcoef(cm,lm,1); %
lcma=length(cma2); %低频长度
blocksize=fix(lcma/(wrow*wcol)); %每块的大小
water_exter=zeros(1,wrow*wcol); %建立一个一维向量存储提取的水印信息
a=0.25; %量化步长
j=1;
for i=1:wrow*wcol
Blockm=cma2(j:j+blocksize-1);
[UM,SM,VM]=svd(double(Blockm)); %对每块进行SVD变换
if(mod(round(SM(1,1)/a),2)==0) %如果为靠近步长的偶数倍,则水印信号为0
water_exter(i)=0;
else
water_exter(i)=1; %如果为靠近步长的偶数倍,则水印信号为0
end
j=j+blocksize;
end
exteredmark=reshape(water_exter,wrow,wcol);%恢复和原图一样大小的图像

3 仿真结果

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_数字水印_07

4 参考文献

[1]阳鑫. 基于DCT变换的数字水印研究及其MATLAB实现[J].  2022(11).

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【数字水印】基于离散余弦变换DCT音频数字水印嵌入提取含Matlab源码_灰度图像_08



网友评论