?? untitled3.m
字號:
fid = 1;
len = 209715;
%隨機生成要隱藏的秘密信息
d = randsrc(1, len, [0 1]);
block = [3, 3];
[fn, pn] = uigetfile({'*.bmp', 'bmp file(*.bmp)';}, '選擇載體');
s = imread(strcat(pn, fn));
ss = size(s);
if(length(ss) >= 3)
I = rgb2gray(s);
else
I = s;
end;
si = size(I);
sN = floor(si(1) / block(1)) * floor(si(2) / block(2));
tN = length(d);
%如果載體圖像尺寸不足以隱藏秘密信息,則在垂直方向上復制填充圖像
if sN < tN
multiple = ceil(tN / sN);
tmp = [];
for i = 1:multiple
tmp = [tmp; I];
end;
I = tmp;
end;
stegoed = hide_lsb(block, d, I);
imwrite(stegoed, 'hide.bmp', 'bmp');
[fn, pn] = uigetfile({'*.bmp', 'bmp file(*.bmp)';}, '選擇隱蔽載體');
y = imread(strcat(pn, fn));
sy = size(y);
if(length(sy) >= 3)
I = rgb2gray(y);
else
I = y;
end;
%調用提取算法,獲得秘密信息。
out = dh_lsb(block, I);
%計算誤碼率。
len = min(length(d), length(out));
rate = sum(abs(out(1:len) - d(1:len))) / len;
y = 1 - rate;
fprintf(fid, 'LSB :len:%d\t error rate:%f\t error num:%d\n', len, rate, len * rate);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -