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