一种空间域盲图像水印方法与流程

文档序号:35079338发布日期:2023-08-09 20:48阅读:34来源:国知局
一种空间域盲图像水印方法

本发明涉及图像处理领域,特别涉及一种空间域盲图像水印方法。


背景技术:

1、近年来数字信息的传输变得常见起来,它们的安全性日益受到人们的重视,数字水印在一定程度能够遏制了数字产品的复制、传播和篡改等行为。

2、现有的空间域图像水印算法虽然较为简单,实时性好,但是鲁棒性不高;变换域图像水印算法虽然鲁棒性好,但是变换繁琐,实时性较低。常用的变换有离散傅里叶变换(dft)、离散余弦变换(dct)、离散小波变换(dwt)等。yuan z 在文章《new image blindwatermarking method based on two-dimensional discrete cosine transform》中描述了基于二维dct的图像盲水印的新方法,在此方法中选择了图像的四对固定中频dct系数,根据所提出规则来修改所选系数对之间的大小关系,方法拥有着良好的鲁棒性和嵌入容量。不过由于需要经过dct变换及逆dct变换这一系列的过程,导致计算较为复杂。哈达玛变换(hadamard transform)具有一定的能量聚集效应,所以hadamard变换也常用于图像水印算法中。由于hadamard变换公式计算得到的最大能量系数较小,文章《a blind colorimage watermarking algorithm using the energy concentration principle ofhadamard matrix》提出了一种近似hadamard变换的方法,对hadamard变换进行轻微的处理后的最大能量系数增长了数倍,能够更加精准的选择量化步长来对最大能量系数进行量化嵌入水印,具有良好的鲁棒性。但是由于许多hadamard变换水印算法都只对最大能量系数进行嵌入,而hadamard变换需要计算出所有能量系数,导致算法实时性不高。

3、除了上述变换,矩阵分解也常用于水印算法中,其中奇异值分解(svd)是图像水印算法中常用的矩阵分解方法。文章《enhanced invisibility and robustness of digitalimage watermarking based on dwt-svd》中将dwt和svd相结合,将水印奇异值嵌入载体图像奇异值中,此方法鲁棒性强,但是算法为非盲水印算法,应用场景较小,并且其要分别计算出载体图像和水印图像的奇异值及左、右奇异值矩阵,导致时间复杂度过大。文章《基于图变换和dwt-svd的鲁棒图像水印算法》中提出了一种基于图变换和dwt-svd的鲁棒图像水印算法,其通过对载体图像进行图变换后来使得其低频子图的能量更加集中,将水印信息同样是嵌入到svd分解的最大奇异值中使得算法具有更好的鲁棒性,但是该算法是三种方法的联合导致算法更为复杂,运算时间更加长。

4、根据上述讨论发现很多变换域算法在使用hadamard变换和svd分解时只是使用了hadamard变换的最大能量系数和svd分解的最大奇异值进行水印嵌入,但是却需要计算出所有的hadamard变换系数和svd分解的所有奇异值及左、右奇异值矩阵,计算繁琐导致算法的实时性降低。

5、为解决这个问题,本发明提出了一种空间域盲图像水印方法,能够在空间域计算出hadamard变换的最大能量系数和svd分解的最大近似奇异值来进行水印的嵌入,这样方法没有经过真实的hadamard变换和svd分解,算法运行速度更快,实时性更高,并且又有着变换域算法的较好鲁棒性,能够满足水印算法对实时性和鲁棒性的双重要求。


技术实现思路

1、本发明提供了一种空间域盲图像水印方法,以实现图像水印方法具有高效的实时性以及良好的鲁棒性的目的。

2、为实现上述目的,本发明提供了如下技术方案:

3、一种空间域盲图像水印方法,包括如下步骤:

4、step1:将二值水印图像转换为二进制水印序列;将rgb格式的载体图像进行r、g、b三通道分离,对g通道分成的子块,计算各子块的方差,得到方差的中位数,选择方差小于中位数的子块坐标保存到列表l中。

5、step1.1:读取长和宽为n个像素的二值水印图像,将每个点的灰度值转换为8位二进制,得到长为8n2的二进制水印序列。

6、step1.2:将长和宽为m个像素的载体图像的r、g、b三通道进行通道分离后,对g通道分成的子块,计算各子块方差,得到方差的中位数。当子块的方差时,将子块的坐标存入到列表l中,直到列表l的长度与水印序列一致,当子块的方差不进行任何操作。

7、step2:对选择保存坐标的子块分别分成4个的小子块,将4个小子块在空间域计算出hadamard变换的嵌入水印前的最大能量系数,然后将4个最大能量系数重新组合为的矩阵,并对其在空间域进行svd分解得到其最大近似奇异值。

8、step2.1:对选择保存坐标的子块分别分成4个的小子块,其中表示从的子块中选择的第个子块,,为子块分成的第个小子块,,对这4个小子块分别根据在空间域计算hadamard变换的嵌入水印前的最大能量系数,表示第行第列的矩阵元素,然后将4个最大能量系数重新组合成2×2的矩阵。

9、step2.2:在空间域对矩阵通过进行svd分解得到其最大近似奇异值,表示矩阵第行第列的矩阵元素。

10、step3:对得到的最大近似奇异值按照嵌入规则进行量化,将二进制水印序列中的水印信息嵌入到其中,然后根据最大近似奇异值的修改量与图像子块像素之间的关系,对图像子块的像素值进行修改达到嵌入水印的目的;当水印信息嵌入完之后,将嵌入水印的g通道与无修改的r通道和b通道进行通道融合,得到嵌入水印的图像。

11、step3.1:将得到的最大近似奇异值按照如下规则进行水印嵌入:

12、

13、其中表示第个嵌入水印子块的最大近似奇异值,为量化步长,取值范围为10~70, 表示第个水印序列值,为四舍五入函数。

14、step3.2:将用下式进行表示 ,其中为嵌入水印后最大近似奇异值的修改量,用矩阵中元素表示为,和分别表示嵌入水印前矩阵和嵌入水印后矩阵的第行第列的元素值,通过得到矩阵中各元素的平均变化量,由得到,其中和为和的第行第列的元素,为行或列的大小。然后通过得到小子块各元素的变换量,由于子块中的4个小子块的变化量是一致的,所以子块的变换量。

15、step3.3:根据最大近似奇异值修改量与图像子块像素之间的关系,通过直接将子块的像素修改达到嵌入水印的目的,其中为嵌入水印后的子块。当所有水印信息都嵌入完成后将嵌入水印的g通道与无嵌入的r通道和b通道进行通道融合就得到了嵌入水印的图像。

16、step4:将嵌入水印的图像进行通道分离得到g通道,将g通道分成的子块,按照列表l中的坐标得到提取水印的子块,对这些子块分别分成4个的小子块,将各小子块分别在空间域计算hadamard变换的嵌入水印后的最大能量系数,并将它们重新组合成的矩阵。

17、step4.1:将嵌入水印的图像进行r、g、b三通道分离得到g通道,将g通道分成的子块,按照列表l中的坐标来得到提取水印的子块,对这些子块分别分成4个的小子块,其中表示从的子块中选择的第个子块,,为子块分成的第个小子块,。

18、step4.2:对4个小子块根据分别在空间域计算出hadamard变换的嵌入水印后的最大能量系数,其中为小子块的第行第列元素,将4个最大能量系数重新组合成的矩阵。

19、step5:将的矩阵在空间域计算出svd分解的最大近似奇异值,对其按照提取规则提取出二进制水印序列值,当所有的二进制水印序列值都提取完后,将提取的二进制水印序列转换为十进制并重组为大小的图像,得到提取的水印图像。

20、step5.1:将的矩阵根据在空间域计算出第个嵌入水印子块的最大近似奇异值,其中为矩阵的第行第列元素,然后按照如下规则进行水印提取:

21、

22、其中表示第个提取出的二进制水印序列值,为量化步长, 为四舍五入函数,为取模函数。

23、step5.2:将提取的二进制水印序列转换成十进制序列,最后将其重组为大小的图像矩阵,得到提取的水印图像。

24、有益效果:本发明提供了一种空间域盲图像水印方法,在空间域上能够得到hadamard变化的最大能量系数和svd分解的最大近似最大特征值,通过量化最大近似特征值来进行水印嵌入,本发明既满足了变换域算法的较好的鲁棒性,又满足了空间域算法高效的实时性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1