✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
⛄ 内容介绍
计算机和通信技术的迅速发展使得数字媒体的传播越来越便捷,但版权侵害也随之增多,为了保护数字产品的知识产权,人们对数字水印技术进行了广泛而深入的研究。小波变换理论是近些年来新兴的数学分支,由于小波变换具有良好的局部特性,因此基于小波变换的数字图像水印技术成为人们研究的热点。本文主要对应用小波分析方法进行数字图像水印的嵌入和提取问题作了研究,提出了基于DWT的数字图像水印算法.实验表明,该算法对于滤波等攻击都具有较好的鲁棒性。
⛄ 部分代码
s=max(abs(x))*0.2;
i=find(abs(x)>s);
lx=length(x(i));
%读取水印音频
FILE2='test_new.wav';
[mark,Fs]=audioread(FILE2);
mark=mark(1:lx);
mark_fft=fft(mark,Fs);
% mark_fft_f=2*sqrt(mark_fft.*conj(mark_fft));
axes(handles.axes1);
plot(mark);
grid on;axis tight;
title('水印音频信号的时域波形');
xlabel('time(s)');ylabel('幅度');
axes(handles.axes2)
plot(abs(mark_fft));
grid on;axis tight;
title('水印音频信号的频域波形');
xlabel('f(Hz)');ylabel('幅度');
sound(mark,Fs);
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%--------------------------水印嵌入-------------------------%
cla reset;
Fs=44100;
FILE1='Rihanna - Take A Bow.wav';
[y,Fs]=audioread(FILE1);%音频信号y,采样率fs,采样精度bits
%用db4小波对原始音频信号进行3级小波分解
[c,l]=wavedec(y,3,'db4');%3级小波分解,低频部分为相似,高频部分为细节
%提取3级小波分解的低频系数和高频系数
ca3=appcoef(c,l,'db4',3);%提取三级小波分解的最低频分
cd3=detcoef(c,l,3);%提取三级小波分解的次低频分
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
x=ca3;%提取三级小波分解的最低频部分
%找到插入位置,检测特征点
s=max(abs(x))*0.2;
i=find(abs(x)>s);
lx=length(x(i));
%读取水印音频
FILE2='test_new.wav';
[mark,Fs]=audioread(FILE2);
mark=mark(1:lx);
%水印信号嵌入
ss=mark(1:lx);
rr=ss*0.02;
x(i)=x(i).*(1+rr');
%小波重构,生成加入了水印信号的音频信号
c1=[x',cd3',cd2',cd1'];
s1=waverec(c1,l,'db4');
%把加入了水印的原始音频信号作为final1.wav保存
FILE3='final1.wav';
audiowrite(FILE3,s1,Fs,'BitsPerSample',16,...
'Comment','This is my new audio file.');;
[y1,Fs]=audioread(FILE3);
y1_fft=fft(y1,Fs);
% y1_fft_f=2*sqrt(y1_fft.*conj(y1_fft));
axes(handles.axes1);
⛄ 运行结果
⛄ 参考文献
[1] 赵红. 基于Matlab的数字音频水印量化算法[J]. 福建电脑, 2007(11):2.
[2] 伊晓玲. 基于小波变换的数字水印算法研究与实现[D]. 西安科技大学, 2008.
[3] 王艳玲. 基于DWT的数字水印算法的MatLab实现[J]. 信息技术与信息化, 2006(1):2.
[4] 李栩, 刘达通, 陈军萍. 基于小波变换的数字水印嵌入和提取[J]. 2009.