基本的信息隐藏替换系统,是用秘密信息比特换掉载体图像中不重要的部分,以达到对秘密信息进行编码的目的。
信息隐藏算法的实现可以有2种方法:空域方法和变换域方法。按提取隐藏信息时的要求又可分为不需要原始图像的盲隐藏和需要原始图像的非盲隐藏。
根据人类视觉系统理论,人眼对图像平滑区域的变换比较敏感,而对纹理区域的变换不太敏感,经过离散余弦变换之后,图像信息集中在少数低频系数上,而纹理和边缘信息则在中低频系数中,所以低频系数的改变对图像视觉 上的影响远大于高频系数。
DCT变换将图像信号从空间域变换到频域,是JPEG(有损图像数字压缩技术)的核心步骤。
在 JPEG压缩中,为了在图像画面降质不明显的前提下获得较高的压缩比,保留的恰是对人眼视觉重要的低频系数,而将大部分高频系数变成了零, 因此 JPEG压缩对低频系数不敏感,而对高频系数敏感, 将信息数据嵌入在高频部分可能在有损压缩中丢 失, 作为一种权衡,可以将信息嵌入在图像的中频系数之间
图像经过DCT变换后,空域中的总能量在变换域中得到保持,但像素之 间的相关性下降,能量将会重新分布,由空域中所表现出的能量发散形式变换为频域能量相对集中的形式,并集中在变换域的低频系数上。
隐藏算法的步骤如下:
1) 对载体图像进行8*8分块,并做DCT变换。
T=dctmtx(8);%eturns the N-by-N DCT transform matrix
%对分块图像做DCT变换
DCTrgb=blkproc(data,[8 8],'P1*x*P2',T,T');%dct=T*x*T'
2)随机选取图像块。