原理简介
- 任何多媒体信息,在数字化时,都会产生物理随机噪声,而人的感观系统对这些随机噪声不敏感。替换技术就是利用这个原理,通过使用秘密信息比特替换随机噪声,从而完成信息隐藏目标。
- 图像高位平面对图像感官质量起主要作用,去除图像最低几个位平面并不会造成画面质量的明显下降。利用这个原理可用秘密信息(或称水印信息)替代载体图像低位平面以实现信息嵌入。
- 本次算法选用最低位平面来嵌人秘密信息。最低位平面对图像的视觉效果影响最轻微,但很容易受噪声影响和攻击,解决办法可采用冗余嵌人的方式来增强稳健性。即在一一个区域(多个像素)中嵌人相同的信息,提取时根据该区域中的所有像素判断。
隐藏算法
算法分为三个部分实现:隐藏算法;提取算法;测试脚本。
(1)隐藏算法
源代码hide JIsb.m 如下:
function o = hide_lsb(block,data,I)
%function o = hide_lsb(block,data,I)
%block :隐藏的最小的分块大小
%data:秘密信息
%I:原始载体
si=size(I);
lend=length(data);
%将凸显划分为M*N的小块。
N=floor(si(2)/block(2));
M=min(floor(si(1)/block(1)),ceil(lend/N));
o=I;
for i=0:M-1
%计算每个小块垂直方向的起始位置。
rst=i*block(1)+1;
red=(i+1)*block(1);
for j=0:N-1
%计算每小块隐藏的秘密信息的序号。
idx=i*N+j+1;
if idx>lend
break;
end;
%取每小块隐藏的秘密信息。
bit=data(idx);
%计算每小块水平方向起始位置。
cst=j*block(2)+1;
ced=(j+1)*