• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Matlab
  • 标签: LSB隐写  

资源简介

信息隐藏 LSB隐写,抗卡方攻击 matlab源代码

资源截图

代码片段和文件信息

%文件名:LSBhide.m
function [ste_coverlen_total]=LSBhide(vectorsecretoutputkey)
%参数说明:
%input是信息隐藏载体图象
%file是秘密消息文件
%output是信息隐秘后的生成图象
%key是随机间隔的密钥
vector=‘C:\Users\e\Desktop\lena512.bmp‘;
secret=‘C:\Users\e\Desktop\heben.bmp‘;
output=‘C:\Users\e\Desktop\output.bmp‘;
key=1992;%密钥
I1=imread(vector);%读入载体lena灰度bmp图像
ste_cover=double(I1);
I2=ste_cover;
J1=imread(secret);%读入嵌入的bmp图像
J2=dec2bin(J1);%将图像中的灰度值转为二进制的一行n列序列
J2=double(J2);
[mn]=size(ste_cover);%获取载体图像的行数和列数
%vector_total=m*n;
[ab]=size(J2);%获取嵌入图像的行数和列数
f_id=fopen(secret‘r‘);
[msglen_total]=fread(f_id‘ubit1‘);
%判断嵌入图像是否过大
if len_total>m*n
    error(‘嵌入消息量过大请更换图象‘);
end
p=1; %作为消息嵌入位数计数器
%调用随机函数选取象素点
[rowcol]=randinterval(ste_coverlen_totalkey);
%嵌入像素
for i=1:len_total
%以下这段代码也可以实现相同功能
%     if (mod (ste_cover(row(i)col(i))2)==0)
%        if (J2(i)==1)
%             ste_cover(row(i)col(i))= ste_cover(row(i)col(i))+1;
%         else
%              ste_cover(row(i)col(i))= ste_cover(row(i)col(i));
%         end
%     else 
%        if (J2(i)==0)
%             ste_cover(row(i)col(i))= ste_cover(row(i)col(i))-1;
%

评论

共有 条评论