📄 lsbhide_rand.m
字号:
%载体是灰度图,完成在LSB上的随即信息隐藏
function lsbhide_rand()
xianshi='请打开载体文件'
foutain=uigetfile(); %foutian是载体
xianshi='请打开隐藏信息所在的文件'
info=uigetfile();%info是隐藏信息文件
key=input(' 请输入密码:');
cover_gray=imread(foutain);
%cover_gray=rgb2gray(cover);
ste_cover=double(cover_gray);
imfinfo(foutain);
wide=size(ste_cover,1);
high=size(ste_cover,2);
fid=fopen(info);
[msg,count]=fread(fid,'ubit1');
%判断载体是否足够
if count>high*wide
fclose(fid);
error('嵌入信息量过大');
end
%P作为消息嵌入位数计数器
p=1;
%调用随即间隔函数选取像素点
[row,col]=randinterval(ste_cover,count,key);
for i=1:count
ste_cover(row(i),col(i))=ste_cover(row(i),col(i))-mod(ste_cover(row(i),col(i)),2)+msg(p,1);
if p==count
break;
end
p=p+1;
end
ste_cover=uint8(ste_cover);
imwrite(ste_cover,'output_rand.bmp');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -