您好,欢迎访问三七文档
水印的嵌入算法设X=f(x,y)为原始宿主图像,大小为cM×cN;flag为水印图像,大小为mM×mN。cM、cN分别是mM、mN的偶数倍。水印嵌入的步骤如下:1、将原始宿主图像分成互不覆盖的子块,块的大小为8×8,记为,,m(,)mXfxy。其中m=1,2,…..,(/8)(/8)ccMxN,记为,0x,,8y。2、并根据载体图像的块数,将大小为mM、mN水印图像w(x,y)分成互不覆盖的子块,块的大小为(*8/M)*(N*8/)mcmcMN,记为,,(,)mmWwxy。3、将载体图像块逐一DCT变换,记为(X)(,)mmmYDCTFuv,其中(,)mFuv为第m个图像离散余弦变换后空间频率(u,v)处的大小。Y为从(,)mFuv中频选出的加载的位置,1≤r≤(*8/M)*(N*8/)mcmcMN;W()br为水印,,(,)mmWwxy位置坐标。按照加法准则,将水印块嵌入其中。公式如下:,Y()rbaWr。其中,a为强度因子,然后用,Yr来代替嵌入水印后的DCT中频系数。4、对各子块DCT反变换,得到嵌入水印后的图像,,(,)Xfxy。2.4水印的提取算法水印提取是水印算法中的关键部分,是水印嵌入的逆过程。水印提取过程如下:首先将含水印图像分别分成互不覆盖的子块,块的大小为8x8,记为,,,,m(,)mXfxy其中m=1,2,…..,(/8)(/8)ccMxN,记为,0x,,8y。对每一个子块进行二维DCT反变换,然后提取水印嵌入位置的中频系数,利用公式()/brWrYa计算出水印信息,然后合并成整图。水印嵌入与提取的程序运行结果原始公开图像水印图像含水印的图像提取的水印图像比较含水印的图像和原始公开的图像,仿真结果表明,嵌入水印后图像仍有很好的视觉效果,水印对原始图像的视觉表达几乎没有影响,一只羊不易觉察。比较水印图像和提取的水印,仿真结果表明,从图像中提取出来的水印图像可以清晰精准识别,验证了嵌入和提取算法的稳定性和有效性。3水印攻击检测由于数字水印在实际应用中可能遭到各种各样的攻击,因此对算法进行攻击测试是衡量一个水印算法优劣的重要手段。3.1椒盐噪声攻击实验I2=imnoise(J2,'salt&pepper',0.02);原始公开图像原始水印图像加椒盐噪声攻击后的图像加椒盐噪声攻击后提取的水印图像加入强度0.02的椒盐噪声后,图像出现许多黑白小斑点,攻击后提取的水印也出现许多斑点,但仍勉强可以辨认出来,说明算法能有效抵抗椒盐噪声的攻击3.2剪切攻击J3(1:100,1:100)=255;剪切攻击后的图像攻击后的水印图像对图像进行剪切攻击,剪切去图像的一个角,提取出的水印清晰可辨,但也缺了一个角,说明算法抗剪切攻击性能良好,但剪切程度越高,水印也会丢失越高。
本文标题:水印嵌入和提取
链接地址:https://www.777doc.com/doc-2277387 .html