1.一种基于近似哈达玛变换的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:第一步:彩色图像数字水印的预处理:首先,将一幅大小为N×N的彩色图像数字水印W依照红、绿、蓝三基色的顺序分成3个分层水印图像Wi;然后,将每个分层水印图像进行基于密钥Kai的Arnold变换;最后,将分层水印图像Wi中的每个十进制数表示的像素用8位二进制2
数表示,并依次连接形成长度为8N 的分层水印位序列SWi,其中i=1, 2, 3分别表示红、绿、蓝三层;
第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成3个分层宿主图像Hi;同时,把每一个分层宿主图像Hi分成大小为m×m的图像块;根据分层水印信2
息长度8N ,利用基于密钥Kbi的MD5哈希伪随机置乱算法生成不重复的选块序列,在分层宿2
主图像Hi中选择合适位置的图像块,以提高水印抗剪切攻击的鲁棒性,其中8N <=(M×M)/(m×m),其中i=1, 2, 3分别表示红、绿、蓝三层;
第三步:选取一个图像块A,并按照公式(1)对其进行近似哈达玛变换;
(1)
其中,A表示尺寸为m×m的图像块矩阵,HA表示图像块A经近似哈达玛变换后得到的频域矩阵,Hm表示尺寸为m×m的哈达玛矩阵;其中,m阶哈达玛方阵Hm可由公式(2)‑(5)迭代生成;
(2)
(3)
(4)
(5)
k
其中,k为整数,m=2表示哈达玛矩阵只能作用于2的整数次方的矩阵;
第四步:从分层水印序列SWi中按先后顺序取出一位待嵌入水印信息w,依据该嵌入水印信息及公式(6)、(7),计算量化边界值Clow和Chigh (6)
(7)
其中,i=1, 2, 3分别表示红、绿、蓝三层,Ti表示红、绿、蓝三层的可变量化步长,floor(.)为取整函数;
第五步:对变换后矩阵左上角的频域系数进行量化以嵌入水印信息;
(8)
*
其中,H1,1代表频域矩阵左上角的系数,H 1,1代表嵌入水印信息后的左上角系数,Clow和Chigh为量化边界值,abs(.)为绝对值函数;
*
第六步:依据公式(9)的逆变换,得到其含水印的图像块矩阵A ,并将含水印的图像块矩*
阵A 更新到其在分层宿主图像Hi中的对应位置;
(9)
*
其中,HA 为嵌入水印后的矩阵,m为图像块的边长和哈达玛矩阵的阶数,Hm为m阶哈达玛矩阵;
第七步:重复执行本过程的第三步到第六步,直到所有的水印信息都被嵌入完成为止,* *
由此得到含水印的分层宿主图像Hi ;最后,将含水印的红、绿、蓝分层宿主图像Hi 重新组合*
并获得大小为M×M的含水印图像H ;
其水印提取过程描述如下:*
第一步:含水印图像预处理:将大小为M×M的含水印图像H 分成3个分层含水印图像* *
Hi ,并将每一分层含水印图像Hi 进一步分成m×m的非重叠图像块,其中i=1, 2, 3分别表示红、绿、蓝三层;
*
第二步:在分层含水印图像Hi 中,利用上述水印嵌入过程中所提到的基于密钥Kbi的MD5哈希伪随机置乱算法选择图像块;
*
第三步:选取一个图像块A ,利用公式(10)对其进行近似哈达玛变换;
(10)
* * *
其中,A 表示图像块矩阵,HA表示图像块A 经近似哈达玛变换后得到的频域矩阵,m是图像块矩阵的边长大小,Hm表示尺寸为m×m的哈达玛矩阵;
* *
第四步:利用公式(11),提取频域矩阵HA 中所含有的水印w ;
(11)
*
其中,H 1,1为含水印的频域分块矩阵的左上角元素,i=1, 2, 3分别表示红、绿、蓝三层,Ti表示三层的可变量化步长,mod(.)为取模函数,round(.)为取整函数;
*
第五步:重复执行本过程的第三步、第四步,提取每层二进制水印位序列SWi ,然后将每
8位二进制信息为一组转换成十进制的像素值,其中i=1, 2, 3分别表示红、绿、蓝三层;
第六步:对转化后的每层十进制像素执行基于密钥Kai的逆Arnold变换并获得提取的分*
层水印Wi ,其中i=1, 2, 3分别表示红、绿、蓝三层;
* *
第七步:组合提取的分层水印Wi 形成最终的提取水印W ,其中i=1, 2, 3分别表示红、绿、蓝三层。