資源簡介
信息隱藏 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;
%
- 上一篇:最小二乘法系統辨識matlab 程序
- 下一篇:d-s證據理論程序
評論
共有 條評論