(共16张PPT)
数字水印嵌入与提取
计科023 金宏伟
指导老师 杜世培
院系:电子科学与信息技术学院
专业:计算机科学与技术(信息安全)
班级:计科023
设计者:金宏伟
学号:0210016308
指导教师:杜世培
设计日期:2006年3月 1日至 2006年 6 月15 日
数字水印嵌入与提取
程序简介
本程序是采用Matlab编程实现图像中的数字水印的嵌入与提取. 采用DCT与DWT,LSB水印算法分别进行
水印嵌入与提取.
可以通过本程序的提取功能,可以验证水印的存在,为作者提供版权保护的依据.
DCT水印算法简介
DCT是离散余弦变换的简称。DCT变换矩阵的基向量体现了人类语言及图像信号的相关特性,故DCT常常被认为是对语音和信号的最佳变换。二维DCT变换是目前使用的最著名的有损数字图像压缩系统——JPEG系统的核心。
DCT水印算法简介
上图是图像经过DCT变换后的频谱
DCT水印算法简介
左上角是低频部分,图像能量大部分集中在此部分,右下角是高频部分,我们水印嵌入的是中频部分,这样既不破坏图像的完整性,又抗一定的图像处理攻击。
DCT方法的设计的原理是:首先将图像提取出R层,数据阵列进行8×8分块,做DCT变换。8×8 DCT系数经“Z”字形扫描后进行特定的量化处理,选取中频部分一些DCT系数来隐藏秘密数据。最后进行DCT逆变换得到隐藏有秘密信息的载体图像。
DCT水印算法简介
:首先将载体图像分成8X8块,嵌入开始时,首先选择一个图像块bi,经过二维DCT变换后得到Bi,用它对第i个消息比特mi进行编码。用(u1,v1)和(u2,v2)代表所选定的两个系数坐标,约定如果mi=0,B(u1,v1)B(u2,v2),则将两者互换,约定B(u1,v1)>B(u2,v2)表示隐藏bit位为’1’。最后再作二维DCT逆变换,将图像变为空间域。
DWT方法设计
DWT小波变换在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,这正符合低频信号变换缓慢而高频信号变换迅速的特点。
下图是图像经过DWT变换后的结果
DWT水印算法简介
DWT水印算法简介
左上是低频近似信号即Ca、右上是2尺度下的水平高频细节信号即Ch、左下是2尺度的垂直高频细节信号即Cv、最后一张是2尺度下的对角高频细节信号即Cd。
DWT方法设计的原理是:对图像的G怪作DWT变换,选取Ch、Cv两个层进行特定的量化处理选取一些DWT系数来隐藏秘密信息,最后经DWT逆转换获得秘密信息。
LSB水印算法简介
所谓流载体,就是发送放在信息嵌入时,得不到载体的全部元素,只能一边得到载体元素一边进行嵌入。
其隐藏原理:选择一个载体元素的子集{j1,j2...jl(m)},其中工友L(m)个元素,用以隐藏秘密信息的L(m)个比特。然后在这个子集上执行替换操作,把cji的最低比特用mi来替换(mi的取值为0或1)。
LSB水印算法简介
提取过程描述:找到嵌入信息的伪装元素的子集{j1.j2...jl(m)},从这些伪装对象Sji中抽出它们饿最低比特为,排列之后组成秘密信息m。
算法思路:将顺序选取的像素点的LSB替换成秘密信息的bit,以达到信息隐藏的目的,在提取信息过程时,找出被选择载体图像的像素系列,将LSB排列起来重构秘密信息。
程序操作手册
程序运行前需要准备:
载体图像,嵌入水印(图像,文本各一),嵌入密钥
首先我们打开Matlab程序,设置程序运行文件夹。
打开‘workmark.m’文件,按F5运行程序。
嵌入:在程序菜单上设置嵌入参数。
按水印嵌入按钮进行水印嵌入
提取:在程序菜单上设置提取参数
按水印提取按钮进行水印提取
最后打开文件夹,验证水印的存在。
致谢
我的作品介绍完毕
谢谢各位老师的指导。