基于离散余弦变换(DCT)的音频信息隐藏算法
信息嵌入步骤
1)将logo图像转化为二进制图片;
2)计算logo大小,变为1行a*b列向量;
3)导入音频从第100个位置开始嵌入,设置深度为0.2;
4)每两个比特嵌入;
5)输出音频。
//matlab
clc;clear;close all
logout=imread('logo.jpg');%导入秘密信息logo
logout=im2bw(logout,0.5);%RGB转二值图
imwrite(logout,'logo_ljx.jpg');%输出二值图像
[a,b]=size(logout);%计算logo大小,a行b列
bitstring=reshape(logout,1,a*b);%将logo变为一行a*b列的向量
for i=1:a*b
if bitstring(i)>0
mstring(i)=1;
else
mstring(i)=-1;
end
end
%导入原始音频
[y,fs]=audioread('test2.wav');
%DCT
dcty=dct(y);
%嵌入信息
dcty1=dcty;