?? binaryextract.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 + -