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

📄 binaryextract.m

📁 二值图像的信息隐藏
💻 M
字号:
function result=binaryextract(stegocover,goalfile,key,R0,R1,lumda,count)
%读取隐蔽载体图像信息,并提取亮度分量。该载体应为16位存储方式的图像,建议使用png格式
stegoimage=imread(stegocover);
stegoimage=round(double(stegoimage)/255);
%确定图像块的首地址
[m,n]=size(stegoimage);
m=floor(m/10);
n=floor(n/10);
temp=zeros([m,n]);
[row,col]=hashreplacement(temp,m*n,m,key,n);%将m,n也作为密钥简化输入
for i=1:m*n
    if row(i)~=1
        row(i)=(row(i)-1)*10+1;
    end
    if col(i)~=1
        col(i)=(col(i)-1)*10+1;
    end
end
%准备提取并回写信息
frr=fopen(goalfile,'a');%定义文件指针
%按隐藏顺序分析图像块
quan=1;
result=zeros([count,1]);
for i=1:m*n
    %计算这一块的p1(Bi)
    p1bi=computep1bi(row(i),col(i),stegoimage);
    if p1bi<R1+3*lumda&&p1bi>50
        fwrite(frr,1,'bit1');%回写1
        result(quan,1)=1;
        quan=quan+1;
    elseif p1bi>R0-3*lumda&&p1bi<50
        fwrite(frr,0,'bit1');%回写0
        result(quan,1)=0;
        quan=quan+1;
    else
        quan=quan;
    end
    if quan==count+1
        break;
    end
end
disp(['已经正确处理',num2str(quan-1),'bits的消息']);
fclose(frr);

⌨️ 快捷键说明

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