⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 water_out4.m

📁 一些程序
💻 M
字号:
%读取原始宿主音频
% audio_name='D:\sound\钢琴曲 - 少女的祈祷.wav';%
% audio_name='D:\sound\大地.wav';
audio_name='D:\sound\001.wav';
[y,fs,br]=wavread(audio_name);
audio=y(:,1);

%读取嵌入水印后的音频
audio_name_new='D:\sound\001_new555.wav';
% audio_name='D:\sound\重采样\大地_new.wav';
% audio_name_new='D:\sound\001_new.wav';
[audio_1,fs]=wavread(audio_name_new);
audio_h_length=size(audio_1,1);
audio_h=audio_1;
water_length=4096;
watermark=ones(1,water_length);
audio_h=audio_1;
%白噪声攻击
audio_h=audio_1+randn(1,audio_h_length)'/100;%加入高斯白噪声


%低通滤波攻击,截止频率4khz,滤波后采样点平移279位
% load('C:\MATLAB7\work\filter_44100_6k.mat')%截止频率4khz
% L1=length(filter_44100_6k);
% audio_h=conv(filter_44100_6k,audio_1);

sect=1024;
k1=10000;
% k1=10000+279;%低通滤波
k=10000;
aa=[1  0     0     0  1     0     0     1     1     0     1     0     1     1     1];
aa=2*aa-1;
w=1;%w为水印标号
% s=0.01;%s为量化系数
N=1;%N为每帧嵌入位数
while k<=(audio_h_length)&w<=water_length
    for i=1:sect
        audio1(i)=audio(k,1);
        audio2(i)=audio_h(k1,1);
        k=k+1;
        k1=k1+1;
    end
    power=sum(audio1.^2);
    if power>0.02
    a=dct(audio1);
    b=dct(audio2);
    a2=a(1:4:57)-b(1:4:57);
    an=a2*aa';
    watermark1=(an<0);
    watermark(w:w+N-1)=watermark1;
    w=w+N;
    end
end

miyao=ones(1,12);
watermark=huifu(watermark,miyao);
k=1;
for i=1:64
    for j=1:64
        image(i,j)=watermark(k);
        k=k+1;
    end
end
imwrite(image,'D:\wav\水印_new.bmp','bmp');
image=imread('D:\wav\水印_new.bmp');
figure(1)
imshow(image,[])
image_name='D:\wav\水印.bmp';
watermark_image=imread(image_name);
ww=1;
for i=1:64
    for j=1:64
        watermark0(ww)=watermark_image(i,j);
        ww=ww+1;
    end
end
err=sum(xor(watermark,watermark0))/4096
% figure(3)
% subplot(2,1,1)
% plot(audio_1)
% subplot(2,1,2)
% plot(audio_h)
% wavwrite(audio_h,fs,'D:\wav\钢琴曲 - 少女的祈祷_new4.wav')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -