📄 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 + -