如发现有乱码,
请直接从这里浏览原文
正文摘录:2006年第17期总第232像。这里采用一种改进了的方法。。。“进行置乱。该方法的基本流程如下:(1)首先确定水印图像的一个基准点(山,y。,)。(2)对第T,(T,<-r。)行的所有象素向左(右)移动,”(T,)个单位;对第T:(屯>z。)行的所有象素向右(左)移动“(T:)个单位。(3)在(2)的基础上,同(2)中的行变换类似,进行列变换。(4)在上述(2),(3)的结果上,把上述3个步骤重复几次(实际应用中一般置乱次数大于3,在仿真实验中的循环置乱了5次)。这里以图2(a)图像为例.置乱效果如下:(b)霄·【L1次图2置乱效果对比实验表明,该置乱算法效果较好,而且逆变换也容易实现。上述置乱过程的基准点的选择.可以固定为一个点,也可以加密成一个点的序列;行和列变换也可以根据需要设置不同的移动单位,这样就使得置乱结果多种多样.但是依然都是可逆的。这里所说的基准点和移动单位就是水印提取时必须掌握的密钥。得到置乱图像后。对置乱产生的图像进行(),1编码,转换成一组一维的O,1序列。得到编码后开始嵌入水印。2.1_3嵌入水印『7州得到水印图像的编码后,将子图像分成8×8的小块,再分别对每个小块进行DCT变换,得到DCT域的系数后.通过按照编码序列修改系数的方法,完成水印的嵌入。(1)首先,对小波变换得到的子图像分块并进行DcT变换。然后,对每个小块的DCT系数重新排序,这里以一个8×8的DCT系数矩阵为例。嵌入水印规则如图3所示。8×8DcT系数州,断-c(1.‘L硝n)c(2、l土,彳画Iq1尚c(3,少一f佤小(‘(2,吖c(4.生一《五1)cn弗c(’』p娟丘)c(4尚c(!-jp俐,2)cf媸l(、{型p嚼712)c(拈)┗┻┻┻┻┻┻┻┛图3嵌入水印规则对嵌入水印的第j位编码时。如果该位编码为l,将C(i,2)位置的系数与C(i,1)和(?(i,3)的系数的绝对值作比较,把绝对值最大的系数放在c(i,2)的位置上;如果该位编码为O,则将C(i。2)位置的系数与C(j,1)和c(i,3)的系数的绝对值作比较,只要保证c(i,2)上系数的绝对值不是最大就可以。同样的原理,在提取水印编码的时候,如果c(j,2)的绝对值分别大于c(i,1)和C(?,3)的绝对值,那么认为这里嵌入的编码是1,否则,嵌入的编码是O。按照如上所述的方法,每个8×8的DCT系数矩阵可以存放7位编码,这样对于一幅128×128的子图像,该算法可以嵌入1792位0。l编码,相当于一幅42×42大小的二值水印图像。当嵌入水印图像时,为了能够标记出编码的开始位与结束位,这里也可以在编码的开始和结束位置添加一组连续的1(或O)。对于同一幅图像如果想要嵌入更大的水印图像,就要减少小波变换的次数,增大先前提取的子图像。当嵌入水印图像较小时,则应重复嵌入几次,这样水印会对裁减攻击有很好的抵抗能力。(2)接着对每个小块进行D(:T的逆变换,得到嵌入水印的子图像。最后再对嵌入水印的子图像进行小波变换的逆变换,就得到了嵌入水印的图像。到此水印嵌入完毕。3水印的提取本文提出的数字水印算法.在水印提取过程中,不需要原始图像,只需要知道水印图像加密的密钥(基准点和移动单位)就可以提取水印。水印提取算法与嵌入过程基本类似,步骤如下:(1)首先,对载体图像进行二维离散小波变换,提取子图像。(2)然后。埘(1)中到得的子图像进行分块,并对每个小块进行DCT变换。(3)对(2)中得到的每个小块的I)CT域的系数矩阵进行分析,分别得到一组7个O,l编码。接着合并这些编码,从中提取水印图像的编码序列并转换成二维编码矩阵。(4)最后,根据密钥对(3)中得到的由0.1组成二维编码矩阵进行加密的逆变换,就可以得到嵌入的二值水印图像。4试验结果与结论4.1实验以5】2×5】2的I,ena图像为例0123456789(a)原始图像(b)水日Jl冬f像(4I×41)图4示例图像(1)使用db6小波基进行了1次离散小波变换,之后33
阅读此文(图):
在线翻阅