数字水印算法介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
提取步骤: (1)将图像C分成像素点对(x,y) ,读入密钥信息K。 (2)将图像C依旧按照嵌入步骤中的(3)式计算均值l和差值h。 (3)根据密钥k找到相应位置,提取差值h的最后一位比特信息m,再将差值h进行变换得到 h h 1 。 (4)将提取到的比特信息m进行组合可以恢复水印信息,将得到的 h 代入嵌入步骤的(3) 中计算新的图像像素对可以恢复原始图像载体M。 ③基于直方图修改的数字水印算法(空间域、可逆、不可见和盲检测) 嵌入步骤: (1)找到直方图的零点z和峰值点p,将 p v z 的像素值v自加1。 (2)漂移后的直方图v=p处即为嵌入水印的位置,将水印信息转化为二进制流 并记为
k,按顺序嵌入,即 v v k ; (3)得到的由像素值 v 组成的图像就是嵌入秘密信息后的 图像。同时p、z以密钥的形式保存。 提取步骤: (1)读取密钥,得到p、z的值。 (2)遍历图像的每个像素,当像素v=p时,提取信息0并保持数据不变;当v=p+1时,提取信 息1并将数据减1。 (3)当v<p或v>z时,数据保持不变;当p-1<v<z时,数据自减1。 (4)提取到的比特信息可以组合成水印信息,重新计算像素后的图像即为原始载体图像。 ④基于Hear小波变换矩阵的数字水印算法(变换域、可逆、不可见和盲检测) 嵌入算法:a.首先将原始图像 C 进行一次 Hear 小波变换,得到四块区域:LL、LH、HL、HH。 b.针对变换域中的高频区域,即 LH、HL、HH 区域,采用直方图修改的方法, 计 算 高 频 区 域数据的直方图。 c.找到直方图的零点 z 和峰值点 p,并重新扫描高频区域的数据 v,将 p v z 的系数值 自加 1。 d.漂移后的直方图 v=p 处即为嵌入水印的位置,将水印图像转化为二进制流 并记为 k, 按 顺序嵌入,即 v v k ;
x(i, j ) x(i, j ) mi mi 为第 i 个秘密信息比特 为可调强度 其中: x (i, j ) 为 DCT 系数
x(i, j ) 为隐藏
秘密后的 DCT 系数 ⑶将隐藏秘密后的 DCT 系数矩阵进行 DCT 逆变换,水印已经嵌入。 水印提取: ⑴将原始图像和嵌入了水印的图像进行 DCT 变换, 分别得到 DCT 系数矩阵 A 和 B。 ⑵依次遍历两个矩阵, 将系数不相等的地方进行 B-A 操作还原出秘密信息片段。 ⑶将所有还 原的秘密信息片段连接起来,即可还原出水印信息。 ⑥基于二值水印图像的可见数字水印盲检测算法(空间域、不可逆、可见和盲检测) 水印嵌入:⑴加载水印图像和原始载体图像,分析二值水印图像,确定黑还是白是需要嵌 入的水印颜色。⑵获取水印图像长宽 a 和 b 以及嵌入初始位置坐标(x,y)和强度因子 c。 ⑶利用置换原理将水印图像的像素乘上强度因子 c 置换掉载体图像中以(x,y)为初始位置 的长宽都等于水印图像的区域块,注意只对水印图像中确定的 需要嵌入的颜色进行操作, 并严格保存 x,y,a,b 和 c 作为密钥信息。水印提取:⑴读入密钥信息。⑵利用 x 和 y 定 位到载体图像具体的位置, 根据长宽分别为 a 和 b 以及强度因子 c 分离出水印。 这种方式无 法恢复原始图像。 ⑦基于二值水印图像的可见数字水印非盲检测算法(空间域、不可逆、可见和非盲检测) 水印嵌入:⑴加载水印图像和原始载体图像,分析二值水印图像,确定黑还是白是需要嵌入 的水印颜色。⑵获取水印图像长宽 a 和 b 以及嵌入初始位置坐标(x,y)和强度因子 c。 ⑶利用置换原理将水印图像的像素乘上强度因子 c 置换掉载体图像中以(x,y) 为 初 始 位置的长宽都等于水印图像的区域块,注意只对水印图像中确定的需要嵌入的颜色进行操 作. 水印提取:⑴载入原始载体图像 A 和嵌入了水印的wenku.baidu.com像 B ⑵同时遍历两个图像的像素信 息,如果遇到不同的像素位置,即可按顺序记录下 B 图中的像素信息。 ⑶最后将记录的像 素信息组合在一起,即可提取出水印图像。 ⑧基于小波变换的图像水印算法 数字水印嵌入技术 * 通 过 Arnold 变 换 将 水 印 图 像 W 进 行 置 乱 , 然 后 按 行 序 列 排 成 一 维 的 向 量 W , * * * W ={wi |i=1,2,…,M, wi ={0,1}},设某一点的坐标为(x,y) ,则 HL2 中位于该点的小波系数 为 f2(x,y),HL1 中位于该点的小波系数为 f2(x,y),按如下步骤进行水印嵌入: 1、对原始灰度图像进行二级小波分解,分别得到一级和二级水平细节子带 HL1,HL2。 2、按前述嵌入位置的选取方法,从 HL2 中选取 M 个待嵌入水印的位置(x,y) 。 3、将二值水印序列嵌入到第二步选出位置的小波系数上,对于某一具体位置(x,y) ,嵌入 水印公式如下: * A1/A2×mean-a1×A1; ( wi =0)&(f2(x,y)>A1/A2×mean) ‘ * f 2(x,y)= f2(x,y)-a2×A1; ( wi =0)&(f2(x,y)≤A1/A2×mean) * A1/A2×mean + a1×A1 ;( wi =1)&(f2(x,y)>A1/A2×mean) * f2(x,y)+a2×A1; ( wi =1)&(f2(x,y)>A1/A2×mean)
x y ) l floor ( (3)对图像M计算均值l和差值h: 2 (floor表示向下取整) h x y (4)将水印比特信息m以差值扩展的方法嵌入到差值h中: h h 2 m (5)将得到的 h 代入(3)中,得到新的图像像素对,形成嵌入秘密信息后的图像C。
e.将嵌入了水印的变换域数据矩阵进行 Hear 小波逆变换,并将 z 和 p 作为密 钥 严 格 保 存 下来。 提取算法:a.读取密钥,得到 p、z。b.将嵌入了水印的图像进行 Hear 小波变换。 c.一次遍历变换域中的高频部分,当 v=p 时,提取信息 0 并保持数据不变; 当 v=p+1 时,提取信息 1 并将数据减 1。d.当 v<p 或 v>z 时,数据保持不变;当 p-1<v<z 时, 数据自减 1。e.按照 c 和 d 遍历完整个变换域中的高频部分,水印信息就被解析出来。f.将 最后的变换域数据矩阵进行 Hear 小波逆变换即能恢复出原始图像。 ⑤基于DCT变换域的数字水印算法(变换域、不可逆、不可见和非盲检测) 水印嵌入:⑴首先将原始图像 C 进行离散余弦变换得到变换域系数矩阵 C 。 ⑵在变换域系数矩阵中的中频段随机选出一些系数,进行如下操作:
‘
其中 f (x, y) 为嵌入水印之后的 HL2 系数, mean 为 HL1 中的四个小波系数 f(2x-1, 2y-1) 、 2 1 f1(2x-1,2y) 、f1(2x,2y-1) 、f1(2x,2y)的均值,A1 为 HL2 中所有系数的绝对值的均 值,A2 为 HL1 中所有系数绝对值的均值,a1、a2 为设定的参数,用于调节水印嵌入的强度算 法中将 A1/A2 的数值作为密钥保存。 4、利用小波逆变换进行重构,生成含水印的图像。 ‘ , 水印提取算法:1、对含水印图像进行二级小波分解,得到水平细节子图 HL2 、HL1 . ‘ 2、根据随机种子 Seed 选取 HL2 中 M 个位置(x,y)处系数,并按下式提取水印信息 WW= ‘ ’ ‘ ’ {wwi|i=1,2,…,M}wwi=1 (f 2(x,y)≥A1/A2×A2 ) 其他 wwi=0 其中 A2 为 HL1 中所 有系数绝对值的均值。 3、将上一步提取出的一维水印序列变为二维,然后根据密钥 S 进行 Arnold 变化,得到提出 ‘ 的水印图像 WW 。
数字水印算法列举
湖南科技大学计算机科学与工程学院
①基于 LSB 的数字水印方案(空间域、不可逆、不可见和盲检测) 嵌入步骤: (1)先把水印信息转化为二进制比特流I。 (2)根据I的长度生成密钥K,并且严格保存。密钥K是对图像载体像素位置的一个映射。 (3)把I中的每一位依次根据密钥K,置换掉原始载体图像中相应位置的像素最后一位。 提取步骤: (1)根据严格保存的密钥K遍历嵌入了水印的图像中的相应像素,提取出最后一位。 (2)将提取出来的每一位重新组合成水印信息。 ②基于差分扩展的数字水印方案(变换域、可逆、不可见和盲检测) 嵌入步骤: (1)将图像M分成像素点对(x,y) ,将水印信息转化为二进制比特流,比特流的每一位用m 表示。 (2)根据水印信息比特流的长度随机生成信息的嵌入位置k作为密钥信息严格保存。
k,按顺序嵌入,即 v v k ; (3)得到的由像素值 v 组成的图像就是嵌入秘密信息后的 图像。同时p、z以密钥的形式保存。 提取步骤: (1)读取密钥,得到p、z的值。 (2)遍历图像的每个像素,当像素v=p时,提取信息0并保持数据不变;当v=p+1时,提取信 息1并将数据减1。 (3)当v<p或v>z时,数据保持不变;当p-1<v<z时,数据自减1。 (4)提取到的比特信息可以组合成水印信息,重新计算像素后的图像即为原始载体图像。 ④基于Hear小波变换矩阵的数字水印算法(变换域、可逆、不可见和盲检测) 嵌入算法:a.首先将原始图像 C 进行一次 Hear 小波变换,得到四块区域:LL、LH、HL、HH。 b.针对变换域中的高频区域,即 LH、HL、HH 区域,采用直方图修改的方法, 计 算 高 频 区 域数据的直方图。 c.找到直方图的零点 z 和峰值点 p,并重新扫描高频区域的数据 v,将 p v z 的系数值 自加 1。 d.漂移后的直方图 v=p 处即为嵌入水印的位置,将水印图像转化为二进制流 并记为 k, 按 顺序嵌入,即 v v k ;
x(i, j ) x(i, j ) mi mi 为第 i 个秘密信息比特 为可调强度 其中: x (i, j ) 为 DCT 系数
x(i, j ) 为隐藏
秘密后的 DCT 系数 ⑶将隐藏秘密后的 DCT 系数矩阵进行 DCT 逆变换,水印已经嵌入。 水印提取: ⑴将原始图像和嵌入了水印的图像进行 DCT 变换, 分别得到 DCT 系数矩阵 A 和 B。 ⑵依次遍历两个矩阵, 将系数不相等的地方进行 B-A 操作还原出秘密信息片段。 ⑶将所有还 原的秘密信息片段连接起来,即可还原出水印信息。 ⑥基于二值水印图像的可见数字水印盲检测算法(空间域、不可逆、可见和盲检测) 水印嵌入:⑴加载水印图像和原始载体图像,分析二值水印图像,确定黑还是白是需要嵌 入的水印颜色。⑵获取水印图像长宽 a 和 b 以及嵌入初始位置坐标(x,y)和强度因子 c。 ⑶利用置换原理将水印图像的像素乘上强度因子 c 置换掉载体图像中以(x,y)为初始位置 的长宽都等于水印图像的区域块,注意只对水印图像中确定的 需要嵌入的颜色进行操作, 并严格保存 x,y,a,b 和 c 作为密钥信息。水印提取:⑴读入密钥信息。⑵利用 x 和 y 定 位到载体图像具体的位置, 根据长宽分别为 a 和 b 以及强度因子 c 分离出水印。 这种方式无 法恢复原始图像。 ⑦基于二值水印图像的可见数字水印非盲检测算法(空间域、不可逆、可见和非盲检测) 水印嵌入:⑴加载水印图像和原始载体图像,分析二值水印图像,确定黑还是白是需要嵌入 的水印颜色。⑵获取水印图像长宽 a 和 b 以及嵌入初始位置坐标(x,y)和强度因子 c。 ⑶利用置换原理将水印图像的像素乘上强度因子 c 置换掉载体图像中以(x,y) 为 初 始 位置的长宽都等于水印图像的区域块,注意只对水印图像中确定的需要嵌入的颜色进行操 作. 水印提取:⑴载入原始载体图像 A 和嵌入了水印的wenku.baidu.com像 B ⑵同时遍历两个图像的像素信 息,如果遇到不同的像素位置,即可按顺序记录下 B 图中的像素信息。 ⑶最后将记录的像 素信息组合在一起,即可提取出水印图像。 ⑧基于小波变换的图像水印算法 数字水印嵌入技术 * 通 过 Arnold 变 换 将 水 印 图 像 W 进 行 置 乱 , 然 后 按 行 序 列 排 成 一 维 的 向 量 W , * * * W ={wi |i=1,2,…,M, wi ={0,1}},设某一点的坐标为(x,y) ,则 HL2 中位于该点的小波系数 为 f2(x,y),HL1 中位于该点的小波系数为 f2(x,y),按如下步骤进行水印嵌入: 1、对原始灰度图像进行二级小波分解,分别得到一级和二级水平细节子带 HL1,HL2。 2、按前述嵌入位置的选取方法,从 HL2 中选取 M 个待嵌入水印的位置(x,y) 。 3、将二值水印序列嵌入到第二步选出位置的小波系数上,对于某一具体位置(x,y) ,嵌入 水印公式如下: * A1/A2×mean-a1×A1; ( wi =0)&(f2(x,y)>A1/A2×mean) ‘ * f 2(x,y)= f2(x,y)-a2×A1; ( wi =0)&(f2(x,y)≤A1/A2×mean) * A1/A2×mean + a1×A1 ;( wi =1)&(f2(x,y)>A1/A2×mean) * f2(x,y)+a2×A1; ( wi =1)&(f2(x,y)>A1/A2×mean)
x y ) l floor ( (3)对图像M计算均值l和差值h: 2 (floor表示向下取整) h x y (4)将水印比特信息m以差值扩展的方法嵌入到差值h中: h h 2 m (5)将得到的 h 代入(3)中,得到新的图像像素对,形成嵌入秘密信息后的图像C。
e.将嵌入了水印的变换域数据矩阵进行 Hear 小波逆变换,并将 z 和 p 作为密 钥 严 格 保 存 下来。 提取算法:a.读取密钥,得到 p、z。b.将嵌入了水印的图像进行 Hear 小波变换。 c.一次遍历变换域中的高频部分,当 v=p 时,提取信息 0 并保持数据不变; 当 v=p+1 时,提取信息 1 并将数据减 1。d.当 v<p 或 v>z 时,数据保持不变;当 p-1<v<z 时, 数据自减 1。e.按照 c 和 d 遍历完整个变换域中的高频部分,水印信息就被解析出来。f.将 最后的变换域数据矩阵进行 Hear 小波逆变换即能恢复出原始图像。 ⑤基于DCT变换域的数字水印算法(变换域、不可逆、不可见和非盲检测) 水印嵌入:⑴首先将原始图像 C 进行离散余弦变换得到变换域系数矩阵 C 。 ⑵在变换域系数矩阵中的中频段随机选出一些系数,进行如下操作:
‘
其中 f (x, y) 为嵌入水印之后的 HL2 系数, mean 为 HL1 中的四个小波系数 f(2x-1, 2y-1) 、 2 1 f1(2x-1,2y) 、f1(2x,2y-1) 、f1(2x,2y)的均值,A1 为 HL2 中所有系数的绝对值的均 值,A2 为 HL1 中所有系数绝对值的均值,a1、a2 为设定的参数,用于调节水印嵌入的强度算 法中将 A1/A2 的数值作为密钥保存。 4、利用小波逆变换进行重构,生成含水印的图像。 ‘ , 水印提取算法:1、对含水印图像进行二级小波分解,得到水平细节子图 HL2 、HL1 . ‘ 2、根据随机种子 Seed 选取 HL2 中 M 个位置(x,y)处系数,并按下式提取水印信息 WW= ‘ ’ ‘ ’ {wwi|i=1,2,…,M}wwi=1 (f 2(x,y)≥A1/A2×A2 ) 其他 wwi=0 其中 A2 为 HL1 中所 有系数绝对值的均值。 3、将上一步提取出的一维水印序列变为二维,然后根据密钥 S 进行 Arnold 变化,得到提出 ‘ 的水印图像 WW 。
数字水印算法列举
湖南科技大学计算机科学与工程学院
①基于 LSB 的数字水印方案(空间域、不可逆、不可见和盲检测) 嵌入步骤: (1)先把水印信息转化为二进制比特流I。 (2)根据I的长度生成密钥K,并且严格保存。密钥K是对图像载体像素位置的一个映射。 (3)把I中的每一位依次根据密钥K,置换掉原始载体图像中相应位置的像素最后一位。 提取步骤: (1)根据严格保存的密钥K遍历嵌入了水印的图像中的相应像素,提取出最后一位。 (2)将提取出来的每一位重新组合成水印信息。 ②基于差分扩展的数字水印方案(变换域、可逆、不可见和盲检测) 嵌入步骤: (1)将图像M分成像素点对(x,y) ,将水印信息转化为二进制比特流,比特流的每一位用m 表示。 (2)根据水印信息比特流的长度随机生成信息的嵌入位置k作为密钥信息严格保存。