1 简介

数字水印技术作为一门有效的多媒体版权保护技术受到越来越多的关注.提出了一种基于小波变换的图像数字水印算法.依据人眼视觉特性,将数字水印信息嵌入到经过小波变换后的图像的高频子带纹理区内,人眼不易察觉,再利用含水印图像和原始图像提取出嵌入的水印.采用多幅图进行实验,结果表明,该数字水印算法具有较好的隐蔽性,而且对常见的图像处理操作攻击具有较好的鲁棒性.


【数字水印】基于小波变换算法DWT实现水印嵌入提取附matlab代码_数字水印2 部分代码

function exteredmark=extract(MarkedX,wrow,wcol)
%水印提取----------------------------------------
[cm,lm]=wavedec(MarkedX,2,'db4'); %用db4小波对读入的声音文件进行2级小波分解
cma2=appcoef(cm,lm,'db4',2); %提取2级小波分解的低频系数和高频系数 1
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 仿真结果

【数字水印】基于小波变换算法DWT实现水印嵌入提取附matlab代码_小波变换_02

4 参考文献

[1]郝东东, 展美宁. 基于离散小波变换的数字水印嵌入与提取[J]. 现代商贸工业, 2011, 23(21):2.

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

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

【数字水印】基于小波变换算法DWT实现水印嵌入提取附matlab代码_数字水印_03