CN112907434A - 基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 - Google Patents
基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 Download PDFInfo
- Publication number
- CN112907434A CN112907434A CN202110321534.4A CN202110321534A CN112907434A CN 112907434 A CN112907434 A CN 112907434A CN 202110321534 A CN202110321534 A CN 202110321534A CN 112907434 A CN112907434 A CN 112907434A
- Authority
- CN
- China
- Prior art keywords
- matrix
- watermark
- image
- pixel
- grid matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0042—Fragile watermarking, e.g. so as to detect tampering
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提出一种基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法,既可以实现版权保护,又可实现篡改区域检测。首先,使用所提出的规则生成矩阵M,称之为Cellular Network矩阵;其次,将由伪随机数发生器生成的水印信息转化为七进制的数值序列;然后,将图像切割成互不重叠的像素对(pi,pi+1);最后,在矩阵M的指导下,在每个像素对中嵌入一个七进制的数值,最终得到嵌有水印信息的图像。当接收方拿到嵌有水印信息的图像时,一是可以根据矩阵M提取出水印信息,二是可以检测出被篡改区域。本发明一是利用矩阵M在图像改动小的情况下嵌入水印信息;二是接收方不需要原始图像和水印信息的帮助下可以检测出被篡改区域。
Description
技术领域
本发明属于浮水印篡改检测领域,具体涉及一种基于蜂窝网格矩阵的盲水印方法。
背景技术
数字图像在日常工作和生活中的使用非常普遍也不可或缺,然而,因为对数字图像的复制、编辑、传播等操作日益方便且容易,因此保护图像的版权及内容的真实性和完整性具有迫切的现实意义。为了解决这一问题,近几十年来出现了许多基于脆弱水印的图像认证方法。通常,基于脆弱水印的图像认证方法通过将水印嵌入到图像中,使其对图像内容的任何修改都非常敏感。
Walton于1995年提出了第一个基于水印的图像认证方法。他将像素的7个 MSB(最高有效位)的校验和插入到图像的1个LSB(最低有效位)中。但是它无法检测出同时翻转任意两位7MSB的情况。1997年,Yeung和Mintzer使用了一种改进的误差扩张策略和水印提取函数,将二值水印嵌入到图像中,以便快速验证这些图像像素的值是否发生了变化。随后,Wong提出了一种基于哈希算法的脆弱水印方法,其中水印是由图像像素值、图像特征和指定密钥生成的。这些方法在检测图像是否被修改方面起到了很好的作用,然而,在定位修改区域方面存在弱点。针对这个问题,不少学者提出了像素对或像素图像认证方法以实现精细的篡改定位。Prasad等人提出对于每个像素对,使用汉明码从每个像素的前两个MSB生成一个3位水印,然后通过块级像素调整过程隐藏到LSB中以减少失真。Gong等人提出了一种基于双水印的图像认证方案,即扩散水印和认证水印。这两种水印对图像的覆盖都具有很高的敏感性,同时,认证水印可以对篡改区域进行像素级的定位。正如预期的那样,后两者在篡改定位方面取得了较好的性能,达到了99%,但是水印图像的质量可以进一步提高。
发明内容
本发明提出一种基于蜂窝网格矩阵的盲水印方法,既可以实现版权保护,又可实现篡改区域检测。首先,使用所提出的规则生成矩阵M,称之为Cellular Network矩阵;其次,将水印信息转化为七进制的数值序列;然后,将图像切割成互不重叠的像素对(pi,pi+1);最后,在矩阵M的指导下,在每个像素对中嵌入一个七进制的数值,最终得到嵌有水印信息的图像。当接收方拿到嵌有水印信息的图像时,一是可以根据矩阵M提取出水印信息,二是可以检测出被篡改区域。本发明一是利用矩阵M在图像改动小的情况下嵌入水印信息;二是接收方不需要水印信息的帮助下可以检测出被篡改区域。
本发明的技术方案步骤如下:
第一方面,本发明提供了一种基于蜂窝网格矩阵的盲水印隐藏方法,其步骤如下:
S1:生成一个256×256的蜂窝网格矩阵;所述蜂窝网格矩阵中,当行和列之和为偶数时对应矩阵元素值为空值Null,当行和列之和为奇数时对应矩阵元素值不为空值Null;而且,蜂窝网格矩阵中同一行内的任意两个相邻有值元素 X1和Y1满足Y1=(X1+1)mod 7,X1表示两个相邻的有值元素中位于左侧的元素,Y1表示两个相邻的有值元素中位于右侧的元素;蜂窝网格矩阵中同一列内的任意两个相邻有值元素X2和Y2满足Y2=(X2+4)mod 7,X2表示两个相邻的有值元素中位于下方的元素,Y2表示两个相邻的有值元素中位于上方的元素;
S2:将载体图像CI全部切割成互不重叠的像素对(pi,pi+1),以像素对作为嵌入水印信息的基本单位;
S4:利用所述蜂窝网格矩阵,依序将7进制数值序列中的每个7进制数值wi嵌入到载体图像CI中不同的像素对中,直到所有像素对都用完,最终生成一个藏有水印的图像CIm;其中,将一个7进制数值wi嵌入像素对(pi,pi+1)时,先在所述蜂窝网格矩阵找到坐标为(pi,pi+1)的矩阵元素M[pi,pi+1],并以M[pi,pi+1]为中心找到距离最近且矩阵元素值为wi的矩阵元素坐标(p′i,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(p′i,p′i+1),完成7进制数值wi在像素对中的嵌入。
作为优选,步骤S1中,生成的蜂窝网格矩阵同时满足1)和2)两个条件:
1)任一有值元素的上下左右均为空值Null;
2)以任一非边界处的有值元素为中心,画一个覆盖7个有值元素的六边形蜂巢,这7个元素值必定互不相同且同时包含0至6。
作为优选,步骤S2中,所述载体图像CI逐行进行不重叠的像素对切割,每一行像素从左到右按序切割,所有切割得到的像素对按序排列后用于进行水印信息嵌入。
作为优选,步骤S3中,根据Key,由伪随机数发生器生成二进制水印信息,并将其转化为7进制的数值序列w1w2…,wn,其中n=(width*height)/2,其中width和height分别为载体图像CI的宽和高。
作为优选,步骤S4的具体实现过程如下:
S41:按顺序从7进制数值序列中取第一个水印数值wi,同时从载体图像CI的像素对集合中取尚未嵌入水印数值的第一个像素对(pi,pi+1);
S42:把S41中取出的像素对(pi,pi+1)中的pi和pi+1视为矩阵的横纵坐标,从所述蜂窝网格矩阵中定位坐标为(pi,pi+1)的矩阵元素M[pi,pi+1];
S43:以M[pi,pi+1]为中心,找到符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标(p′i,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(p′i,p′i+1);
S44:不断重复S41~S43,直至载体图像CI中的所有像素对都嵌入了水印数值,最终生成一个藏有水印的图像CIm。
作为优选,以M[pi,pi+1]为中心,查找符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标(p′i,p′i+1)时,其查找范围分为以下四种情况:
1)如果pi≥1且pi+1≥2且M[pi,pi+1]≠Null,则以M[pi,pi+1]为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
2)如果pi≥1且pi+1≥2且M[pi,pi+1]=Null,则各以M[pi,pi+1-1]和 M[pi,pi+1+1]为中心各画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
3)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足 M[pi,pi+1]≠Null,则以M[pi,pi+1]为左下角顶点或右下角顶点或正下角顶点或正上角顶点画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
4)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足 M[pi,pi+1]=Null,则以M[pi+1,pi+1]或者M[pi-1,pi+1]或者M[pi,pi+1+1]或者M[pi,pi+1-1]为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找。
第二方面,本发明提供了一种一种基于蜂窝网格矩阵的盲水印提取方法,在根第一方面中任一方案所述的盲水印隐藏方法得到嵌入水印的图像CIm后,从图像CIm中提取水印的过程为:
S61:生成一个与S1中相同的256×256的蜂窝网格矩阵;
S62:将图像CIm按照与S2中相同的方式全部切割成互不重叠的像素对 (p′i,p′i+1),依序从每对像素对提取信息;针对每一个像素对(p′i,p′i+1),把p′i和p′i+1看成矩阵的横纵坐标,定位得到所述蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1]即为一个7进制的水印嵌入信息;
S64:将S63提取出的所有七进制水印嵌入信息按序排列后,转为二进制即为最终提取的水印信息。
第三方面,本发明提供了一种基于蜂窝网格矩阵的盲水印篡改检测方法,在根据第一方面中任一方案所述的盲水印隐藏方法得到嵌入水印的图像CIm后,若图像CIm被篡改,从图像CIm中检测篡改区域的过程为:
S71:生成一个与S1中相同的256×256的蜂窝网格矩阵;
S72:将图像CIm按照与S2中相同的方式全部切割成互不重叠的像素对 (p′i,p′i+1);
S73:把p′i和p′i+1看成矩阵的横纵坐标,定位得到所述蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1],若M[p′i,p′i+1]=Null,则表示该像素对(p′i,p′i+1)被篡改;反之,则认为该像素对(p′i,p′i+1)未被篡改。
相对于现有技术而言,本发明的有益效果如下:
本发明充分利用所生成蜂窝网格矩阵,实现了图像的盲水印篡改区域检测。首先,本发明设计了一套规则可以生成一个蜂窝网格矩阵(Cellular Network),在蜂窝网格矩阵的指导下,可以在每个像素对中嵌入一个七进制的数值,最终得到嵌有水印信息的图像。当接收方拿到嵌有水印信息的图像时,一是可以根据矩阵M提取出水印信息,二是可以检测出被篡改区域。其次,本发明利用该矩阵将水印信息藏入到图像中,实现了高藏量并且图像品质保持良好(藏量:1.4bpp,图像品质:47.55dB)。相比于传统的图像篡改检测方法,本发明一方面提高了藏量,另一方面实现了盲水印篡改检测,即不需要原始图像和水印信息的情况下也可以检测出篡改区域。
附图说明
图1为基于Cellular Network的盲水印篡改检测方法步骤示意图;
图2为Cellular Network矩阵的实例。
图3为嵌入水印的例子。
图4为图3中像素对所在Cellular的实例。
图5为水印图像以及检测篡改效果图。
具体实施方式
下面结合附图,对本发明的具体实施例作进一步详细描述。
在本发明的一个较佳实施例中,提供了基于蜂窝网格矩阵(Cellular Network)的盲水印方法,其包含隐藏、提取和篡改检测三部分。
基于蜂窝网格矩阵的盲水印隐藏方法,具体步骤描述如图1中步骤1~步骤4 所示。
步骤1:根据以下规则生成一个256×256的矩阵M,称为蜂窝网格矩阵 CellularNetwork:
1)当矩阵的行和列之和为偶数时,对应矩阵元素值为空值Null。以i表示矩阵行数,j表示矩阵列数,M[i,j]表示矩阵中坐标(i,j)即第i行第j列的矩阵元素值,当i+j为偶数时,M[i,j]=Null。
2)当矩阵的行和列之和为奇数时,对应元素值不为空值Null,属于有值元素。而且Cellular Network中的所有有值元素具有规律如下:同一行元素值模7 差1,同一列元素值模7差4。具体而言,蜂窝网格矩阵中同一行内的任意两个相邻有值元素X1和Y1满足Y1=(X1+1)mod 7,X1表示同一行两个相邻的有值元素中位于左侧的元素,Y1表示同一行两个相邻的有值元素中位于右侧的元素;蜂窝网格矩阵中同一列内的任意两个相邻有值元素X2和Y2满足Y2=(X2+4) mod 7,X2表示同一列两个相邻的有值元素中位于下方的元素,Y2表示同一列两个相邻的有值元素中位于上方的元素。
图2为Cellular Network矩阵的一个实例,可以看到矩阵具有如下特征:
1)任一有值元素的上下左右均为空值Null,称之为空包弹;
2)以任一非Cellular Network边界处的有值元素为中心,画一个覆盖7个有值元素(含中心元素)的六边形蜂巢(Cellular),这7个元素值必定互不相同,且同时包含0至6。
本发明中,所谓的六边形蜂巢形式如图2中所示,它是一个蜂巢形式的六边形,具有6个角点,正下角和正上角处于一条竖向垂线上。以任一非边界处的有值元素为中心所画的六边形蜂巢中,6条边穿过6个有值元素,而六边形中心位置处还有一个有值元素。
步骤2:将载体图像CI全部切割成互不重叠的像素对(pi,pi+1),以像素对作为嵌入水印信息的基本单位。该切割过程需要满足一定的切割顺序,以便于后续提取水印或者篡改检测时有迹可循。在本实施例中,载体图像CI从上到下逐行进行不重叠的像素对切割,每一行像素从左到右按序切割,所有切割得到的像素对按序排列后形成像素对集合,用于进行后续的水印信息嵌入。
步骤3:根据Key,由伪随机数发生器生成二进制水印信息,将二进制水印信息转化为7进制的数值序列w1w2…,wn。其中n=(width*height)/2,其中 width和height分别为载体图像CI的宽和高。
图3给出了本实施例中嵌入水印的例子。二进制水印信息 10001001000先转为十进制1096,进而转为七进制3124。本实施例中,得到用于嵌入水印信息的像素对为(3,4)、(5,5)、(0,1)和(0, 8)。
步骤4:利用前述的蜂窝网格矩阵,依序将7进制数值序列中的每个7进制数值wi嵌入到载体图像CI中不同的像素对中,直到所有像素对都用完,最终生成一个藏有水印的图像CIm。其中,将一个7进制数值wi嵌入像素对(pi,pi+1)时,先在蜂窝网格矩阵找到坐标为(pi,pi+1)的矩阵元素M[pi,pi+1],并以M[pi,pi+1]为中心找到距离最近且矩阵元素值为wi的矩阵元素坐标(pi′,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(pi′,p′i+1),完成7进制数值wi在像素对中的嵌入。
本实施例中,本步骤的嵌入过程具体如下:
步骤4.1:按顺序从7进制数值序列中取第一个水印数值wi,同时从载体图像CI的像素对集合中取尚未嵌入水印数值的第一个像素对(pi,pi+1);
步骤4.2:把步骤4.1中取出的像素对(pi,pi+1)中的pi和pi+1视为矩阵的横纵坐标,从所述蜂窝网格矩阵中定位坐标为(pi,pi+1)的矩阵元素M[pi,pi+1];
步骤4.3:以M[pi,pi+1]为中心,找到符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标(p′i,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(p′i,p′i+1);
步骤4.4:不断重复步骤4.1~步骤4.3,直至载体图像CI中的所有像素对都嵌入了水印数值,最终生成一个藏有水印的图像CIm。
需注意的是,基于本发明的CellularNetwork的结构特点,步骤4.3中以 M[pi,pi+1]为中心,查找符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标 (p′i,p′i+1)时,其查找范围并不需要遍历整个矩阵,而是仅需要在一定的小范围内进行查找,具体可分为以下四种情况:
Casel)如果pi≥1且pi+1≥2且M[pi,pi+1]≠Null,则以M[pi,pi+1]为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找即可找到 M[p′i,p′i+1];
Case 2)如果pi≥1且pi+1≥2且M[pi,pi+1]=Null,则各以M[pi,pi+1-1]和 M[pi,pi+1+1]为中心各画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找即可找到M[p′i,p′i+1];
Case 3)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足 M[pi,pi+1]≠Null,则以M[pi,pi+1]为左下角顶点(对应pi=0)或右下角顶点(对应pi=255)或正下角顶点(对应pi+1<2)或正上角顶点(对应pi+1>253) 画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找即可找到 M[p′i,p′i+1];
Case 4)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足 M[pi,pi+1]=Null,则以M[pi+1,pi+1](对应pi=0)或者M[pi-1,pi+1](对应pi=255)或者M[pi,pi+1+1](对应pi+1<2)或者M[pi,pi+1-1](对应 pi+1>253)为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找即可找到M[p′i,p′i+1]。
本实施例中,参见图4所示可在所画的六边形蜂巢中找到符合条件 M[p′i,p′i+1]=wi的元素,从而获取下列水印像素对:
原始像素对 | 水印信息 | 水印像素对 | |
Case 1 | (3,4) | (3)<sub>7</sub> | (3,6) |
Case 2 | (5,5) | (1)<sub>7</sub> | (4,3) |
Case 3 | (0,1) | (2)<sub>7</sub> | (0,1) |
Case 4 | (0,8) | (4)<sub>7</sub> | (0,9) |
由此,即可生成藏有水印的图像CIm。
在本实施例中,原始图像经过上述水印隐藏方法得到嵌入水印信息的图像 CIm后,可以从图像CIm中提取嵌入的水印信息,下面具体描述基于蜂窝网格矩阵的盲水印提取方法实现方式:
步骤5.1:根据步骤1所描述规则构建一个与步骤1中相同的256×256的蜂窝网格矩阵,如图2所示。
本实施例中,所构建矩阵如图2所示。
步骤5.2:将图像CIm按照与步骤2中相同的方式全部切割成互不重叠的像素对(p′i,p′i+1),依序从每对像素对提取信息;针对每一个像素对(p′i,p′i+1),把p′i和 p′i+1看成矩阵的横纵坐标,定位得到蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1]即为一个7进制的水印嵌入信息;
本实施例中,得到像素对(3,6)、(4,3)、(0,1)和(0,9),对应的,得到七进制数值序列3124。
步骤5.3:将步骤5.2提取出的所有七进制数值按序组合后转为二进制即为最终的水印信息。
本实施例中,七进制3124先转为十进制1096,进而转为二进制10001001000。
进一步的,本发明还能检测出被篡改区域,下面具体描述基于蜂窝网格矩阵的盲水印篡改检测方法实现方式:
步骤6.1:根据步骤1所描述规则构建一个与步骤1中相同的256×256的蜂窝网格矩阵,如图2所示。
步骤6.2:将图像CIm按照与步骤2中相同的方式全部切割成互不重叠的像素对(p′i,p′i+1)。
本实施例中,将图3的水印像素对篡改为(3,7)、(3,5)、(0,1)和 (0,9)。
步骤6.3:对于每一对像素对(p′i,p′i+1),把p′i和p′i+1看成矩阵的横纵坐标,定位得到所述蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1],若M[p′i,p′i+1]=Null,则表示该像素对(p′i,p′i+1)被篡改;反之,则认为该像素对(p′i,p′i+1)未被篡改。
本实施例中,M[3,7]=Null,M[3,5]=Null,表示被篡改;而M[0,1]≠Null, M[0,9]≠Null,表示未被篡改。
本发明充分利用CellularNetwork矩阵特征,实现了图像的盲水印篡改检测,且在嵌入容量和图像品质方面优于其他现有方法(藏量:1.4bpp,图像品质: 48.99dB)。图5给出了藏有水印的图像以及检测被篡改区域的效果图。相比于传统的图像篡改检测方法,本发明一方面提高了藏量,另一方面实现了盲水印篡改检测,即不需要原始图像和水印信息的情况下可以检测出篡改区域。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (8)
1.一种基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于步骤如下:
S1:生成一个256×256的蜂窝网格矩阵;所述蜂窝网格矩阵中,当行和列之和为偶数时对应矩阵元素值为空值Null,当行和列之和为奇数时对应矩阵元素值不为空值Null;而且,蜂窝网格矩阵中同一行内的任意两个相邻有值元素X1和Y1满足Y1=(X1+1)mod 7,X1表示两个相邻的有值元素中位于左侧的元素,Y1表示两个相邻的有值元素中位于右侧的元素;蜂窝网格矩阵中同一列内的任意两个相邻有值元素X2和Y2满足Y2=(X2+4)mod 7,X2表示两个相邻的有值元素中位于下方的元素,Y2表示两个相邻的有值元素中位于上方的元素;
S2:将载体图像CI全部切割成互不重叠的像素对(pi,pi+1),以像素对作为嵌入水印信息的基本单位;
S4:利用所述蜂窝网格矩阵,依序将7进制数值序列中的每个7进制数值wi嵌入到载体图像CI中不同的像素对中,直到所有像素对都用完,最终生成一个藏有水印的图像CIm;其中,将一个7进制数值wi嵌入像素对(pi,pi+1)时,先在所述蜂窝网格矩阵找到坐标为(pi,pi+1)的矩阵元素M[pi,pi+1],并以M[pi,pi+1]为中心找到距离最近且矩阵元素值为wi的矩阵元素坐标(p′i,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(p′i,p′i+1),完成7进制数值wi在像素对中的嵌入。
2.根据权利要求1所述的基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于,步骤S1中,生成的蜂窝网格矩阵同时满足1)和2)两个条件:
1)任一有值元素的上下左右均为空值Null;
2)以任一非边界处的有值元素为中心,画一个覆盖7个有值元素的六边形蜂巢,这7个元素值必定互不相同且同时包含0至6。
3.根据权利要求1所述的基于基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于,步骤S2中,所述载体图像CI逐行进行不重叠的像素对切割,每一行像素从左到右按序切割,所有切割得到的像素对按序排列后用于进行水印信息嵌入。
4.根据权利要求1所述的基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于,步骤S3中,根据Key,由伪随机数发生器生成二进制水印信息,并将其转化为7进制的数值序列w1w2…,wn,其中n=(width*height)/2,其中width和height分别为载体图像CI的宽和高。
5.根据权利要求1所述的基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于,步骤S4的具体实现过程如下:
S41:按顺序从7进制数值序列中取第一个水印数值wi,同时从载体图像CI的像素对集合中取尚未嵌入水印数值的第一个像素对(pi,pi+1);
S42:把S41中取出的像素对(pi,pi+1)中的pi和pi+1视为矩阵的横纵坐标,从所述蜂窝网格矩阵中定位坐标为(pi,pi+1)的矩阵元素M[pi,pi+1];
S43:以M[pi,pi+1]为中心,找到符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标(p′i,p′i+1),然后将载体图像CI中的像素对(pi,pi+1)替换为(p′i,p′i+1);
S44:不断重复S41~S43,直至载体图像CI中的所有像素对都嵌入了水印数值,最终生成一个藏有水印的图像CIm。
6.根据权利要求5所述的基于蜂窝网格矩阵的盲水印隐藏方法,其特征在于,以M[pi,pi+1]为中心,查找符合条件M[p′i,p′i+1]=wi的最近的矩阵元素坐标(p′i,p′i+1)时,其查找范围分为以下四种情况:
1)如果pi≥1且pi+1≥2且M[pi,pi+1]≠Null,则以M[pi,pi+1]为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
2)如果pi≥1且pi+1≥2且M[pi,pi+1]=Null,则各以M[pi,pi+1-1]和M[pi,pi+1+1]为中心各画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
3)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足M[pi,pi+1]≠Null,则以M[pi,pi+1]为左下角顶点或右下角顶点或正下角顶点或正上角顶点画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找;
4)如果满足pi=0或者pi=255或者pi+1<2或者pi+1>253,且满足M[pi,pi+1]=Null,则以M[pi+1,pi+1]或者M[pi-1,pi+1]或者M[pi,pi+1+1]或者M[pi,pi+1-1]为中心画一个覆盖7个有值元素的六边形蜂巢,在该六边形蜂巢范围内查找。
7.一种基于蜂窝网格矩阵的盲水印提取方法,其特征在于,根据权利要求1~6任一所述的盲水印隐藏方法得到嵌入水印的图像CIm后,从图像CIm中提取水印的过程为:
S61:生成一个与S1中相同的256×256的蜂窝网格矩阵;
S62:将图像CIm按照与S2中相同的方式全部切割成互不重叠的像素对(p′i,p′i+1),依序从每对像素对提取信息;针对每一个像素对(p′i,p′i+1),把p′i和p′i+1看成矩阵的横纵坐标,定位得到所述蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1]即为一个7进制的水印嵌入信息;
S64:将S63提取出的所有七进制水印嵌入信息按序排列后,转为二进制即为最终提取的水印信息。
8.一种基于蜂窝网格矩阵的盲水印篡改检测方法,其特征在于,根据权利要求1~6任一所述的盲水印隐藏方法得到嵌入水印的图像CIm后,若图像CIm被篡改,从图像CIm中检测篡改区域的过程为:
S71:生成一个与S1中相同的256×256的蜂窝网格矩阵;
S72:将图像CIm按照与S2中相同的方式全部切割成互不重叠的像素对(p′i,p′i+1);
S73:把p′i和p′i+1看成矩阵的横纵坐标,定位得到所述蜂窝网格矩阵中的矩阵元素M[p′i,p′i+1],若M[p′i,p′i+1]=Null,则表示该像素对(p′i,p′i+1)被篡改;反之,则认为该像素对(p′i,p′i+1)未被篡改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321534.4A CN112907434B (zh) | 2021-03-25 | 2021-03-25 | 基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321534.4A CN112907434B (zh) | 2021-03-25 | 2021-03-25 | 基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112907434A true CN112907434A (zh) | 2021-06-04 |
CN112907434B CN112907434B (zh) | 2023-10-13 |
Family
ID=76106491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110321534.4A Active CN112907434B (zh) | 2021-03-25 | 2021-03-25 | 基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112907434B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060018467A1 (en) * | 2004-07-20 | 2006-01-26 | Scribocel, Inc. | Device for authentication and identification for computerized and networked systems |
CN101452570A (zh) * | 2008-12-22 | 2009-06-10 | 武汉大学 | 基于网格的矢量空间数据数字水印方法 |
CN109544434A (zh) * | 2018-10-16 | 2019-03-29 | 江苏信实云安全技术有限公司 | 用于raw格式图像的cwt-qim数字盲水印算法 |
CN111145069A (zh) * | 2019-12-03 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 基于区块链的图片水印处理方法及装置 |
-
2021
- 2021-03-25 CN CN202110321534.4A patent/CN112907434B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060018467A1 (en) * | 2004-07-20 | 2006-01-26 | Scribocel, Inc. | Device for authentication and identification for computerized and networked systems |
CN101452570A (zh) * | 2008-12-22 | 2009-06-10 | 武汉大学 | 基于网格的矢量空间数据数字水印方法 |
CN109544434A (zh) * | 2018-10-16 | 2019-03-29 | 江苏信实云安全技术有限公司 | 用于raw格式图像的cwt-qim数字盲水印算法 |
CN111145069A (zh) * | 2019-12-03 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 基于区块链的图片水印处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112907434B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | A steganographic method for images by pixel-value differencing | |
Chang et al. | A secure fragile watermarking scheme based on chaos-and-hamming code | |
Khan et al. | A high capacity reversible watermarking approach for authenticating images: exploiting down-sampling, histogram processing, and block selection | |
He et al. | An insight into pixel value ordering prediction-based prediction-error expansion | |
CN102426690B (zh) | 一种数字图像秘密分享及恢复方法 | |
CN101452570B (zh) | 基于网格的矢量空间数据数字水印方法 | |
Rajput et al. | Image tamper detection and self-recovery using multiple median watermarking | |
Aminuddin et al. | AuSR1: Authentication and self-recovery using a new image inpainting technique with LSB shifting in fragile image watermarking | |
CN108805788B (zh) | 基于图像拓扑结构的可逆水印方法 | |
Wu et al. | A simple image tamper detection and recovery based on fragile watermark with one parity section and two restoration sections | |
Jana et al. | Local feature based self-embedding fragile watermarking scheme for tampered detection and recovery utilizing AMBTC with fuzzy logic | |
CN103700059B (zh) | 基于多功能数字水印的云存储图像数据持有性证明方法 | |
Uyyala et al. | Reversible data hiding using improved gradient based prediction and adaptive histogram bin shifting | |
CN113032813A (zh) | 基于改进的像素局部复杂度计算和多峰嵌入的可逆信息隐藏方法 | |
Hussan et al. | Hash-based image watermarking technique for tamper detection and localization | |
CN116467685A (zh) | 一种可逆数据库水印的嵌入和提取方法 | |
CN111510297A (zh) | 全局与局部特征结合的高分辨率遥感影像完整性认证方法 | |
Lin et al. | Pixel-based fragile image watermarking based on absolute moment block truncation coding | |
Yang et al. | Tampering detection and content recovery for digital images using halftone mechanism | |
CN112907434A (zh) | 基于蜂窝网格矩阵的盲水印隐藏、提取和篡改检测方法 | |
CN105023235B (zh) | 一种基于空间冗余关系的电子海图水印方法 | |
CN103325084B (zh) | 一种基于联合恰可觉察失真的立体图像脆弱水印方法 | |
CN116703685A (zh) | 图像去水印方法、装置、设备和介质 | |
Pan et al. | A lossless watermarking scheme for halftone image authentication | |
CN115690014A (zh) | 一种基于纹理度交叉嵌入的医学图像篡改检测及自恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |