在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 音频水印源码

音频水印源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:4.24M
  • 下载次数:19
  • 浏览次数:412
  • 发布时间:2019-04-18
  • 实例类别:一般编程问题
  • 发 布 人:crazycode
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 水印 音频 源码

实例介绍

【实例简介】音频水印源码包含嵌入与提取的源码,里面水印图片没有配套,自己配一张图片进去,绝对可用,亲测

【实例截图】


【核心代码】

clc;clear;close all;
% 水印嵌入程序

% 读取音频信号3.wav存到变量A中
[A,fs,nbits] = wavread('3.wav');
%绘制原始声音图像 
subplot(211); plot(A); 
axis([0 350000 -2 2]);
title('原始声音信号波形图');
% 用变量L存储音频A的长度
L = size(A);
% 读取图像Lena.bmp存入变量M做水印信号
M = imread('shiyun.bmp');
% 将图像Lena.bmp转化为二值图并存入变量BW
BW = im2bw(M);

% 计算水印矩阵大小
[M1,M2] = size(BW);
% M12为中间变量,避免每次都计算M1*M2
M12 = M1*M2; 
% 降维,将水印信息得到的一维序列存入序列C中
C = reshape(BW,1,M12);
n = M12;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 对水印信号进行扩频处理,效果不是很好
% 扩频系数为2
n = M12*2;
M = zeros(n,1);
% 产生密钥序列M
for k = 1 : n
    if mod(k,4) == 0
        M(k) = 1;
    else 
        M(k) = 0;
    end
    % 水印信号序列分别按位与密钥异或
    l = ceil(k/2);
    S(k) = bitxor(C(l),M(k));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 嵌入一个水印信息需要的音频数据为N
N = 10; 
length = n*10;
% 将原始音频信号分解为Ae和Ar两部分
i = 1 : length; 
j = [1];
% 取矩阵A的l到length行构建矩阵Ae
Ae = A(i,j);
% Ae(i,j)
i = length 1 : L;
% 取矩阵A的length到L行第一列构建矩阵Ar
Ar = A(i,j);


% 建立元胞B,每个音频数据段Ae(m)是B的一个元素
k = 1;
% 建立M1 x M2行l列的元胞
B = cell(n,1);
th = n*N;
% 当k小于Ae的长度时,矩阵Ae每10行作为一个音频数据段存入元胞B中
while ( k < th )
    i = k : k 9;
    m = (k 9)/10;
    B{m,1} = Ae(i,j);
    k = k 10;
end


% 建立元胞D,并将元胞B中离散余弦变换了的元素存入元胞D中
D = cell(n,1);
for i = 1 : n
    D{i,1} = dct(B{i,1});
end

% 建立元胞E,储存嵌有水印信号的中频系数
E = cell(n,1);
E = D;
for i = 1 : n
%     % 将水印信息C嵌入音频中
%     E{i,1}(3) = (D{i,1}(3))*(1 2*C(i));
    % 将扩频了的水印信息S嵌入音频中
    E{i,1}(3) = (D{i,1}(3))*(1 2*S(i));
end

% 建立元胞F
F = cell(n,1);
% 将元胞E中离散余弦反变换了的元素存入元胞F中
for i = 1 : n
    F{i,1} = idct(E{i,1});
end

% 将所有分离的段合并创建到一维矩阵G中
G = F{1,1};
% i从3到M1*M2依次取值
for i = 2 : n
    % 将元胞G和元胞F第i组元素合并创建到一维矩阵G
    G=[G; F{i,1}];
end
% 将元胞G和矩阵Ar合并创建一维矩阵G
G =[G; Ar];
wavwrite(G,fs,nbits,'test.wav');
subplot(212); plot(G); 
title('含水印的声音信号波形图');
axis([0 350000 -2 2]);

标签: 水印 音频 源码

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警