get_dct.m

来自「函数用于DCT的信息隐藏,在变换域嵌入隐藏的信息」· M 代码 · 共 35 行

M
35
字号
function result=get_DCT()
xianshi='请建立还原后的文件.txt'
goalfile=uiputfile();
key=input('请输入密码');
fid=fopen('hiding info.txt');
[msg,count]=fread(fid,'ubit1');
data0=imread('ste_image_0.5.jpg');
data0=double(data0)/255;
data=data0(:,:,1);
T=dctmtx(8);
DCTcheck=blkproc(data,[8,8],'P1*x*P2',T,T');
[row,col]=size(DCTcheck);
x=floor(row/8);
y=floor(col/8);
a=zeros([x y]);
[k1,k2]=randinterval(a,count,key);
for i=1:count
    k1(1,i)=(k1(1,i)-1)*8+1;
    k2(1,i)=(k2(1,i)-1)*8+1;
end
% 提取并写回信息
frr=fopen(goalfile,'a');
for i=1:count
    if DCTcheck(k1(i)+4,k2(i)+1)<=DCTcheck(k1(i)+3,k2(i)+2)
        fwrite(frr,0,'bit1');
        result(i,1)=0;
    else
        fwrite(frr,1,'bit1');
        result(i,1)=1;
    end
end
fclose(frr);
        
        
        

⌨️ 快捷键说明

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