1.一种基于标记码的鲁棒大容量数字水印方法,其特征在于,包括水印嵌入和水印提取两个过程;
所述水印嵌入具体包括如下步骤:
步骤1:将载体图像缩放到固定的尺寸a×b;
步骤2:将缩放后的载体图像的色彩空间转化为YCrCb空间,并提取Y通道,在Y通道中嵌入水印信息;
步骤3:将水印信息转换为含水印信息的二值水印图像,然后对该二值水印图像添加标记码,并将添加标记码的二值水印图像转换为比特流W,W={wk|wk∈{0,1},k=0,1,2,...,M},其中wk表示比特流中第k个比特信息,M表示水印信息的总比特数;
步骤4:将Y通道分成M块图像,每块图像均为8像素*8像素,第k块图像与比特流中第k个比特信息相对应,分别对每块图像进行DCT变换,得到每块图像上每个坐标点的DCT系数的集合,将该集合作为该块图像的DCT系数矩阵;
步骤5:将(m1,n1)作为每个DCT系数矩阵的参照点坐标,将(m2,n2)作为每个DCT系数矩阵的嵌入点坐标;根据第k块图像对应的比特信息,修改第k个DCT系数矩阵的嵌入点的DCT系数,从而得到第k块图像的新DCT系数矩阵;其中,m1∈[0,7],m2∈[0,7],n1∈[0,7],n2∈[0,
7];
步骤6:对每一个新DCT系数矩阵进行DCT逆变换,得到新的图像块,将M个新的图像块合并成Y通道,并将Y通道与Cr、Cb通道合并,最后将合并后的图像恢复成原尺寸;
所述水印提取具体包括如下步骤:
步骤A:对待检测图像进行缩放,缩放后的尺寸为a1×b1;
步骤B:将缩放后的待检测图像的色彩空间转化为YCrCb空间,并提取Y通道;
步骤C:检测Y通道中的标记码与载体图像中的标记码的相似度,若相似度大于等于预设的阈值,则转步骤D;否则检测该待检测图像遭受到的攻击类型,根据攻击类型对待检测图像的Y通道进行恢复,若恢复后的Y通道中标记码与载体图像中的标记码的相似度大于等于预设的阈值,则转步骤D;否则在预设的缩放参数组中重新选择一组缩放参数,再对原尺寸的待检测图像进行缩放,并转步骤B;若遍历所有缩放参数,Y通道中的标记码与载体图像中的标记码的相似度仍然小于预设的阈值,则停止水印提取;
步骤D:将Y通道图像分成M块图像,每块图像均为8像素*8像素,并对每块图像做DCT变换,得到每块图像的DCT系数矩阵;
步骤E:比较每个DCT系数矩阵中的参照点(m1,n1)与嵌入点(m2,n2)的DCT系数,从而得到每个DCT系数矩阵对应的比特信息,并将所有比特信息汇成比特流,最后将整个比特流转为水印图像;
所述步骤3中对二值水印图像添加标记码的具体方法为:以二值水印图像为中心向二值水印图像的左、右分别扩充l1个像素,上、下分别扩充l2个像素;在二值水印图像左上角的区域U1={(x,y)|x∈(0,l2),y∈(0,l1)}、右上角的区域U2={(x,y)|x∈(0,l2),y∈(l1+a′,a/8)}以及左下角的区域 添加像素值均为0的图像块,再用像素值均为255的图像块填充图像的剩余区域,其中 a′为
水印图像的高,b′水印图像的宽。
2.根据权利要求1所述的一种基于标记码的鲁棒大容量数字水印方法,其特征在于,所述步骤4和步骤D中得到每块图像的DCT系数矩阵,具体方法为:其中,Ck(m,n)为第k个DCT系数矩阵中坐标为(m,n)的点的DCT系数,m=0,1,2,...,7,n=0,1,2,...,7;
Bk(i,j)为在第k块图像中坐标点(i,j)的像素值,i=0,1,2,...,7,j=0,1,2,...,7,所述步骤6中对每一个DCT系数矩阵进行DCT逆变换,具体为:其中B′k(i,j)为第k块新的图像中坐标为(i,j)的点的像素值,C′k(m,m)为第k个新DCT系数矩阵中坐标为(m,n)的点的DCT系数。
3.根据权利要求1所述的一种基于标记码的鲁棒大容量数字水印方法,其特征在于,所述步骤5中根据第k块图像对应的比特信息,修改第k个DCT系数矩阵的嵌入点的DCT系数,具体为:其中Ck(m1,n1)为在第k个DCT系数矩阵中参照点对应的DCT系数,Ck(m2,n2)为在第k个DCT系数矩阵中嵌入点的DCT系数,C′k(m2,n2)为第k个新DCT系数矩阵中的嵌入点的DCT系数,p为嵌入强度。
4.根据权利要求1所述的一种基于标记码的鲁棒大容量数字水印方法,其特征在于,所述步骤E中:若待检测图像的第k个DCT系数矩阵的嵌入点的DCT系数大于该矩阵的参照点的DCT系数,则第k个比特信息为w′k=1;否则w′k=0。