【图像隐藏】基于DCT算法实现数字水印嵌入提取附
matlab代码
1 简介
随着计算机网络的迅猛发展,信息安全越来越受关注.信息隐藏技术是一种重要的信息安全技术,而数字图
像水印算法又是信息隐藏技术研究的一个热点.水印加密和水印嵌入是水印算法的关键问题.本文提出一种
新的混沌置乱水印加密算法:首先使用Arnold映射对水印置乱,然后和Logistic生成的混沌序列进行异或运
算,即克服了Arnold的周期性带来的不安全性,又达到了抗剪切目的.在水印加密的基础上,本文又提出一种
基于DCT的水印嵌入算法,该算法以二值图像为水印,水印嵌入前对水印进行信息扩大映射,增加了嵌入的
灵活性,提高了提取准确性;嵌入中对宿主图像进行8×8分块,并结合人类视觉系统(HVS),根据各块的复杂度
自适应嵌入,使水印的不可见性和稳健性达到很好平衡;嵌入时采取多重嵌入更增强了抵抗攻击能力.本文
算法已得到编程实现.实验证明该算法在无攻击时提取水印的归一化相关系数(NC)为1,宿主图像在剪切
1/2,JPEG压缩50%时提取水印仍可辨认,NC分别为0.77,0.73.
在图像隐写分析中,这几个特征是比较经典的 图像隐写分析中DCT特征与Markov特征展现出了极大a的
潜力,小波变换的奇异值分解(Wavelet Singular Value Decomposition , WSVD)特征也有奇效,本
文实现前人论文的特征提取编程代码。 先说说理论知识 1 扩展DCT统计特征提取 大多数的隐密算法都是
对JPEG图像的DCT系数进行操作,以此来嵌入秘密信息。DCT系数统计特征,旨在捕捉DCT系数的统计
量的特征,以此来区分载体图像和隐密图像。 DCT系数统计算法由Fridrich【1】提出,其中包含了DCT
系数直方图,共生矩阵,空域块间相关性等部分。首先用DCT系数替换相同位置的原始图像像素,使用
dij(k) 来表示DCT系数矩阵,其中i,j=1, … ,8,k=1, … ,nB。而dij(k)则代表的是在第k个8×8 DCT块中处
于(i,j)位置的DCT系数,而DCT块一共有nB 块。为了减少计算量和特征维度,在计算特征之前需要进行
预处理,将所有DCT系数值范围限定在[-5,5]之间,大于和小于该范围内的值全部变换为-5到+5之间。
其中,Ir和Ic表示图像DCT系数块的两种排列方式,分别是行扫描顺序和列扫描顺序。 接下来的两个特征
Bα是从解压的JPEG图像中计算,也是一种块间相关性的特征:
评论0