1.一种基于Contourlet变换和Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和水印提取过程来实现的,其水印嵌入过程描述如下:第一步:首先,对一幅大小为N×N的彩色水印图像W作降维处理,得到红、绿、蓝三个分层水印图像;然后,对每个分层水印图像进行基于密钥Kai,Kbi,Kci的Lorenz混沌映射得到置乱后的三个分层水印图像Wi;将分层水印图像Wi中的每个十进制像素值转换为8位二进制2
数,依次连接成长度为8N的水印位序列SWi,其中i=1, 2, 3分别表示红、绿、蓝三层;
第二步:首先,对一幅大小为M×M的彩色宿主图像H作降维处理,得到红、绿、蓝三个分层宿主图像Hi,对每一个分层宿主图像Hi进行Contourlet变换,提取其低频系数矩阵Bi;然后,将其低频系数矩阵Bi划分成大小为m×m非重叠的系数块,其中i=1, 2, 3分别表示红、绿、蓝三层;
第三步:利用基于密钥Kdi的MD5哈希伪随机选块算法从每一层低频系数矩阵Bi中选择大小为m×m的系数块csblock,其中i=1, 2, 3分别表示红、绿、蓝三层;
第四步:根据公式(1),对系数块csblock进行Schur分解,得到酉矩阵U和上三角矩阵V;
[U,V]=schur(csblock) (1)其中,上三角矩阵V的主对角非零元素λi为系数块csblock的第i个特征值,i=1, 2, …, r,r表示系数块csblock的秩,其主对角线上元素满足λ1>λ2>λ3>…>λr;
第五步:按照先后顺序依次从分层水印位序列SWi中选取待嵌入水印位w;利用公式(2)对上三角矩阵V中的第一个主对角元素λ1进行量化以嵌入水印位w,得到含水印的第一个主*
对角元素λ1;
(2)
其中,round(.)是四舍五入的取整函数,xor(.)是异或函数,mod(.)是取余函数,QT是选定的量化步长;
*
第六步:用含水印的第一个主对角元素λ1 替换原上三角矩阵V中第一个主对角元素λ1,*
得到含水印的上三角矩阵V ;利用公式(3)进行逆Schur分解得到含水印低频系数块*
csblock ;
* * T
csblock =U×V ×U (3)*
第七步:含水印低频系数块csblock 更新到其在分层低频系数矩阵Bi中的相应位置,其中i=1, 2, 3分别表示红、绿、蓝三层;
第八步:重复执行本过程的第三步到第七步,直到所有的水印信息都被嵌入完成为止,* *
由此得到含水印的分层低频系数矩阵Bi ;然后,对水印的分层低频系数矩阵Bi 执行逆*
Contourlet变换,得到含水印的分层宿主图像Hi ,其中i=1, 2, 3分别表示红、绿、蓝三层;
* *
第九步:组合三层含水印的分层宿主图像Hi得到含水印图像H ,其中i=1, 2, 3分别表示红、绿、蓝三层;
其水印提取过程描述如下:
* *
第一步:首先,通过降维处理将含水印图像H 分成红、绿、蓝三个含水印的分层图像Hi ;
* *
同时,对每一个含水印的分层图像Hi 进行Contourlet变换,提取其低频系数矩阵Bi ;然后,*
将低频系数矩阵Bi 划分成大小为m×m的非重叠系数块,其中i=1, 2, 3分别表示红、绿、蓝三层;
*
第二步:利用基于密钥Kdi的MD5哈希伪随机选块算法从含水印低频系数矩阵Bi 中选择*
含水印系数块csblock ,其中i=1, 2, 3分别表示红、绿、蓝三层;
*
第三步:利用公式(4),对含水印系数块csblock 进行Schur分解,得到酉矩阵U和上三角*
矩阵V ;
* *
[U,V ]=schur(csblock) (4)* * *
其中,上三角矩阵V 的主对角非零元素λi 为系数块csblock 的第i个特征值,i=1, 2, * * * * *
…, r,r表示系数块csblock的秩,其主对角线上元素满足λ1>λ2>λ3>…>λr ;
* *
第四步:利用上三角矩阵V 中的第一个主对角元素λ1 ,根据公式(5)从含水印系数块* *
csblock 中提取水印位w ;
(5)其中,fix(.)是向零方向取整函数,mod(.)是取余函数,QT为选定的量化步长;
*
第五步:重复执行本过程的第二步和第四步,得到提取的二进制水印位序列SWi ;然后,*
依次将SWi 中每8位二进制信息划分为一组并转换成十进制的像素值,形成分层置乱水印图像;然后,对分层置乱水印图像进行基于密钥Kai,Kbi,Kci的逆Lorenz混沌映射,最终获得提*
取的分层水印图像Wi ,其中i=1, 2, 3分别表示红、绿、蓝三层;
* *
第六步:组合提取的分层水印图像Wi 形成最终的提取水印图像W ,其中i=1, 2, 3分别表示红、绿、蓝三层。