水印嵌入和提取
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水印的嵌入算法
设X=f(x,y)为原始宿主图像,大小为c M ×c N ;flag 为水印图像,大小为m M ×m N 。c M 、c N 分别是m M 、m N 的偶数倍。水印嵌入的步骤如下:
1、 将原始宿主图像分成互不覆盖的子块,块的大小为8×8,记为,,
m
(,)m X f x y =。其
中m=1,2,…..,(/8)(/8)c c M x N ,记为,0x ≤,,
8y ≤。
2、 并根据载体图像的块数,将大小为m M 、m N 水印图像w(x,y) 分成互不覆盖的子块,块
的大小为(*8/M )*(N *8/)m c m c M N ,记为,,(,)m m W w x y =。
3、 将载体图像块逐一DCT 变换,记为
(X )(,)m m m Y DCT F u v ==,
其中(,)m F u v 为第m 个图像离散余弦变换后空间频率(u ,v )处的大小。Y 为从(,)m F u v 中频选出的加载的位置,1≤r ≤(*8/M )*(N *8/
)m c m c M N ;W ()b r 为水印
,,(,)m m W w x y =位置坐标。按照加法准则,将水印块嵌入其中。
公式如下: ,
Y ()r b aW r =
。
其中,a 为强度因子,然后用,
Y r 来代替嵌入水印后的DCT 中频系数。 4、 对各子块DCT 反变换,得到嵌入水印后的图像,
,
(,)X f x y =。
2.4水印的提取算法
水印提取是水印算法中的关键部分,是水印嵌入的逆过程。水印提取过程如下: 首先将含水印图像分别分成互不覆盖的子块,块的大小为8x8, 记为,,
,,
m (,)m X f x y =
其中m=1,2,…..,(/8)(/8)c c M x N ,记为
,
0x ≤,,8y ≤。 对每一个子块进行二维DCT 反变换,然后提取水印嵌入位置的中频系数,利用公式
()/b r W r Y a =计算出水印信息,然后合并成整图。
水印嵌入与提取的程序运行结果
原始公开图像水印图像
含水印的图像提取的水印图像
比较含水印的图像和原始公开的图像,仿真结果表明,嵌入水印后图像仍有很好的视觉效果,水印对原始图像的视觉表达几乎没有影响,一只羊不易觉察。比较水印图像和提取的水印,仿真结果表明,从图像中提取出来的水印图像可以清晰精准识别,验证了嵌入和提取算法的稳定性和有效性。
3 水印攻击检测
由于数字水印在实际应用中可能遭到各种各样的攻击,因此对算法进行攻击测试是衡量一个水印算法优劣的重要手段。
3.1椒盐噪声攻击实验
I2=imnoise(J2,'salt & pepper',0.02);
原始公开图像原始水印图像
加椒盐噪声攻击后的图像加椒盐噪声攻击后提取的水印图像
加入强度0.02的椒盐噪声后,图像出现许多黑白小斑点,攻击后提取的水印也出现许多斑
点,但仍勉强可以辨认出来,说明算法能有效抵抗椒盐噪声的攻击
3.2剪切攻击
J3(1:100,1:100)=255;
剪切攻击后的图像攻击后的水印图像
对图像进行剪切攻击,剪切去图像的一个角,提取出的水印清晰可辨,但也缺了一个角,说明算法抗剪切攻击性能良好,但剪切程度越高,水印也会丢失越高。