CN105976304B - 一种图像水印嵌入、检测方法及装置 - Google Patents
一种图像水印嵌入、检测方法及装置 Download PDFInfo
- Publication number
- CN105976304B CN105976304B CN201610371664.8A CN201610371664A CN105976304B CN 105976304 B CN105976304 B CN 105976304B CN 201610371664 A CN201610371664 A CN 201610371664A CN 105976304 B CN105976304 B CN 105976304B
- Authority
- CN
- China
- Prior art keywords
- pixel
- row
- bit
- multirow
- preset quantity
- 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.)
- Active
Links
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
- G06T1/0092—Payload characteristic determination in a watermarking scheme, e.g. number of bits to be embedded
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像水印嵌入、检测方法及装置,从待处理图像中选取连续的多行像素点;根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。本方案简单实用,能够一定程度的抵抗转码破坏。
Description
技术领域
本发明涉及图像水印技术领域,特别涉及一种图像水印嵌入、检测方法及装置。
背景技术
随着互联网和多媒体的飞速发展,数字产品的传播变得越来越方便迅速,由于数字产品的特性使得任何人都有可能随意对各种数字产品进行复制和修改,这样很可能会严重损害版权人的利益,因此,需要通过一定的保护手段来保护版权人的利益,对于最常见的图像来说,一般通过在图像中嵌入不可见信息即水印来保护授权的图像,并可以通过检测被嵌入水印的图像中的水印来判断这幅图片的归属,进而保护版权所有者的合法权益。
现有技术中常用的水印方法有频域水印、空域水印、视频码流或者图像编码流中的语义水印等。其中,视频码流或者图像编码流中的语义水印无法抵抗转码破坏,而频域水印、空域水印能够抵抗图像处理、图像转码等攻击;但是,频域水印、空域水印的算法较复杂,尤其是频域水印,其采用的频域变换一般分为三种:离散余弦变换域、小波变换域和傅里叶变换域,这些算法都比较复杂。因此,如何更加简单的嵌入水印并还能使其具有一定的抵抗转码破坏能力,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种图像水印嵌入、检测方法及装置,以解决如何更加简单地嵌入水印并还能使其具有一定的抵抗转码破坏能力的问题。
为达到上述目的,本发明实施例公开了一种图像水印嵌入、检测方法及装置。技术方案如下:一种图像水印嵌入方法,所述方法包括:
从待处理图像中选取连续的多行像素点;
根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;
将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。
优选地,所述连续的多行像素点包括:除所述待处理图像的首行和最后一行以外的连续多行像素点。
优选地,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,包括:
将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,确定所述多行像素点中每行像素点对应的bit;
或者;
将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,确定所述多行像素点中每行像素点对应的bit。
优选地,所述预设的bit与像素偏移量的对应关系,为:
任一bit所对应的像素偏移量为(2*bit-1)/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,其中,N表示第二预设数量。
优选地,将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移,包括:
将所述多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置偏移;
对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
一种图像水印检测方法,所述方法包括:
分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考图像为根据上述任一方法对所述源图像嵌入水印所获得的图像;
计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像的函数与待检测图像的函数的第二相关系数;
判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件;
当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌水印的图像。
一种图像水印嵌入装置,所述装置包括:
选取模块,用于从待处理图像中选取连续的多行像素点;
映射模块,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
像素偏移量确定模块,用于根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;
位置偏移模块,用于将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
像素值重生模块,用于根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。
优选地,所述选取模块,用于选取除所述待处理图像的首行和最后一行以外的连续多行像素点。
优选地,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
所述映射模块,具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,确定所述多行像素点中每行像素点对应的bit;
或者;
具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,确定所述多行像素点中每行像素点对应的bit。
优选地,所述预设的bit与像素偏移量的对应关系,为:
任一bit所对应的像素偏移量为(2*bit-1)/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,其中,N表示第二预设数量。
优选地,所述位置偏移模块,具体用于:
对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
一种图像水印检测装置,所述装置包括:
预处理模块,用于分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考图像为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图像;
相关系数计算模块,用于计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像的函数与待检测图像的函数的第二相关系数;
判断模块,用于判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件;
检测结果确定模块,用于当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌水印的图像。
本方案中,从待处理图像中选取连续的多行像素点;根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。本方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水印嵌入方法相比较更加简单,同时,本发明嵌入的水印信息是基于图像像素点位置的即水印包含在图像像素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图像像素点的位置是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程度的抵抗转码破坏。
另外,基于本发明实施例所提供的图像水印嵌入方法,本发明实施例还提供了一种图像检测方法,通过比较图像特征的函数之间的关系,可以检测出通过本发明实施例所提供的图像水印嵌入方法所处理的图片的归属。
针对上述的图像水印嵌入方法、图像水印检测方法分别提出的图像水印嵌入装置和图像水印检测装置,图像水印嵌入装置用于执行上述图像水印嵌入方法,图像水印检测装置用于执行上述图像水印检测方法,因此,图像水印嵌入装置和图像水印检测装置具有相应的技术效果。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面将对实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图像水印嵌入方法的流程示意图;
图2为本发明实施例提供的一种图像水印检测方法的流程示意图;
图3为本发明实施例提供的一种图像水印嵌入装置的结构示意图;
图4为本发明实施例提供的一种图像水印检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对如何更加简单地嵌入水印并还能使其具有一定的抵抗转码破坏能力的问题,本发明提出了一种图像水印嵌入、检测方法及装置,用于对待处理的图像嵌入预设水印,检测待检测的图像中是否含有与参考图像相同的水印信息,该图像水印嵌入、检测方法及装置不仅可以应用于处理单个图像,还可以应用到处理视频帧中。
下面先对一种图像水印嵌入方法进行说明。
如图1所示,图1为本发明实施例提供的一种图像水印嵌入方法的流程示意图,该方法包括:
S101、从待处理图像中选取连续的多行像素点;
在对待处理图像嵌入水印时,可以对整个图像的像素点着手嵌入,也可以从局部的像素点着手嵌入,本步骤中,可根据实际情况,选取较为合适的连续的多行像素点。例如,为了确保图像的首行和最后一行在嵌入水印时不需要扩幅处理,同时为了选取方便,可选取的连续多行像素点不包括待处理图像的首行和最后一行。当然,如果不直接排除首行和最后一行时,也可以这样规定:
图像处理时需要最后一行向上偏移时,该连续的多行像素点包括:除待处理图像的最后一行以外的连续的多行像素点。
图像处理时需要首行向上偏移时,该连续的多行像素点包括:除待处理图像的首行以外的连续的多行像素点。
S102、根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定该多行像素点中每行像素点对应的bit,其中,该bit序列中包括多个bit;
预设水印的bit序列是指通过特定方法将预设水印转化形成的bit序列,这里的转化方法属于现有技术,在这里不做赘述。执行本步骤之后可以确定该多行像素点的每行对应的bit,即确定出该行对应的bit是0还是1。
S103、根据预设的bit与像素偏移量的对应关系,分别确定该多行像素点中每行像素点对应的像素偏移量;
在执行本步骤之前,会预设bit与像素偏移量的对应关系,例如,1所对应的像素偏移量是某一确定值,而0所对应的像素偏移量是另一确定值,根据这些对应关系,确定该多行像素点中每行像素点对应的像素偏移量。
S104、将该多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
S105、根据位置偏移后所在的位置和预设插值算法,确定并更新该多行像素点中每行像素点的像素值。
在该多行像素点偏移后,相对于原来的位置,这些行像素点到了新的位置上,到了新位置的像素点的像素值可通过其在待处理图像中的周围的像素点的像素值插值获得,这里所说的预设插值算法可以是现有技术的插值算法的某一种,例如,双线性插值或滤波器插值等等,滤波器具体如lanczos插值滤波器或cubic-spline插值滤波器等等,当然,还有其他现有插值滤波器,在此不在赘述。
举例来说,双线性插值:若待处理图像的第五行向下偏移了1/32,则偏移后的第五行位于原来第五行和第六行之间的1/32处,偏移后的第五行的像素点的像素值等于原来第五行的像素值乘以(1-1/32)加上原来第六行的像素值乘以1/32;若待处理图像的第五行向上偏移了1/32,则偏移后的第五行位于原来第四行和第五行之间的(1-1/32)即31/32处,偏移后的第五行的像素点的像素值等于原来第四行的像素值乘以(1-31/32)加上原来第五行的像素值乘以31/32。
lanczos滤波器插值:针对偏移后,新的像素行可能存在相邻两行之间的位置如表一所示,针对每个位置获得一组权值,位置与权值的对应关系表,如表一所示。
表一
若某第r行向下偏移某一位置后,位于待处理图像原第r行和原第r+1行之间的该位置处,则新的第r行的像素值根据以下式计算:
Er=q1Dr-3+q2Dr-2+q3Dr-1+q4Dr+q5Dr+1+q6Dr+2+q7Dr+3+q8Dr+4
其中,Dr表示待处理图像的原第r行的像素值,Er表示偏移后位于待处理图像原第r行和原第r+1行之间的新的第r行的像素值,q1、q2、q3、q4、q5、q6、q7和q8是针对偏移位置所对应的权值。
举例来说,若第五行向下偏移1/32后,位于待处理图像原第五行和原第六行之间的1/32处,则新的第五行的像素值根据以下式计算:
E5=-0.0030D2+0.0096D3-0.0271D4+0.9983D5+0.0292D6-0.0102D7+0.0033D8-0.0001D9
当然,每个位置对应的权值数量也可以是其他数值,这样插值采用的行数也相应变化。
本方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水印嵌入方法相比较更加简单,同时,本发明嵌入的水印信息是基于图形像素点位置的即水印包含在图像像素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图像像素点的位置是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程度的抵抗转码破坏,也能一定程度的抵抗图像处理破坏。
具体的,本实施例中,该多行像素点的行数可以为第一预设数量,bit序列的比特个数可以为第二预设数量,其中,第一预设数量等于第二预设数量的两倍;
根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定该多行像素点中每行像素点对应的bit,可以包括:
将该多行像素点的第一行至第第二预设数量行分别与bit序列的第一个至第第二预设数量个bit一一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别与bit序列的第一个至第第二预设数量个bit一一对应,确定该多行像素点中每行像素点对应的bit;例如,第一预设数量为64,第二预设数量为32,bit序列为10101011101010101010101101100110,其第一个bit、第二bit、、、第第二预设数量个bit是从右往左数的,因此,64行像素点的第一行、第二行、第三行、、、第第二预设数量行分别对应的bit是0、1、1……、1,而该多行像素点的倒数第一行、倒数第二行、倒数第三行……、倒数第第二预设数量行分别对应0、1、1……、1。
或者;
将所述多行像素点的第一行至第第二预设数量行分别与bit序列的第第二预设数量个至第一个bit一一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别与bit序列的第第二预设数量个至第一个bit一一对应,确定所述多行像素点中每行像素点对应的bit。还例如,第一预设数量为64,第二预设数量为32,bit序列为10101011101010101010101101100110,其第一个bit、第二bit、、、第第二预设数量个bit是从右往左数的,因此,64行像素点的第一行、第二行、第三行……、第第二预设数量行分别对应的bit是1、0、1……、0,而该多行像素点的倒数第一行、倒数第二行、倒数第三行……、倒数第第二预设数量行分别对应1、0、1……、0。
上述实施例中,预设的bit与像素偏移量的对应关系可以为:
任一bit所对应的像素偏移量为(2*bit-1)/N,bit为1时,bit对应的像素偏移量是1/N;bit为0时,bit对应的像素偏移量是-1/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,bit为1时,bit对应的像素偏移量是-1/N,bit为0时,bit对应的像素偏移量是1/N,其中,N表示第二预设数量。
为了表述方便,下文仅对前一种映射方式以及任一bit所对应的像素偏移量为(2*bit-1)/N的情况进行举例描述,其他情况类似。上述64行像素点的第一行、第二行、第三行、、、第第二预设数量行分别对应的bit是0、1、1、……、1,进而依次对应的像素偏移量分别为:-1/32、1/32、1/32……、1/32,而该多行像素点的倒数第一行、倒数第二行、倒数第三行……、倒数第第二预设数量行分别对应0、1、1……、1,进而依次对应的像素偏移量分别为:-1/32、1/32、1/32……、1/32。
上述实施例中,将该多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移,包括:
将该多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置偏移;该多行像素点中第一行的位置偏移量是其自身所对应的像素偏移量,该64行像素点的第一行向下偏移1/32。
对该多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
该64行像素点的第二行的位置偏移量是第一行的位置偏移量加上第二行所对应的像素偏移量,第一行的位置偏移量-1/32加上第二行所对应的像素偏移量1/32,因此,第二行的位置偏移量为0,实际上,第二行不进行偏移;该64行像素点的第三行的位置偏移量等于第二行的位置偏移量为0加上本行所对应的像素偏移量1/32,因此,第三行向上偏移1/32,直到第第二预设数量行都是按照这种方式计算每行的位置偏移量,每行按照自身所确定的位置偏移量进行偏移,可以确定,该64行像素点的第第二预设数量行的位置偏移量为4/32,因此,该第第二预设数量行向上偏移4/32。
对该多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行关于第第二预设数量行的位置偏移量减去本行所对应的像素偏移量的位置偏移。
该64行像素点的第第二预设数量加一行的位置偏移量是第第二预设数量的像素偏移量4/32减去本行对应的1/32,即该64行像素点的第第二预设数量加一行的位置偏移量为3/32,该行向上偏移3/32,该64行像素点的第第二预设数量加两行的位置偏移量是3/32减去本行对应的像素偏移量-1/32,获得本行的像素偏移量为4/32,本行向上偏移4/32。
当然,也可以按照,计算获得位置偏移量的负号代表向上偏移,正号代表向下偏移,只要整体统一即可。
按照上述方法的设置,每一行的最大位置偏移量都不会超过1,且任意相邻两行的位置偏移量相差为1/N,使得任意相邻两行偏移后,在上方的像素行仍然在上方,在下方的像素行仍在下方,该相邻两行的相对上下位置不变。因此,可保证图像扭曲的大小,防止图像过渡扭曲而失真。为了保证图像变化的人眼不可见性,可设置第一预设数量在8-64之间。
相应于上述的图像水印嵌入方法,本发明实施例还提供了一种图像水印检测方法。如图2所示,图2为本发明实施例提供的一种图像水印检测方法的流程示意图,该方法包括:
S201、分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,该参考图像为根据本发明提出的嵌入水印的方法对该源图像嵌入水印所获得的图像;
所计算的函数分别是:源图像的函数为S(x,y),待检测图像的函数为C(x,y),参考图像的函数为W(x,y)。这里计算的函数指的是关于自变量像素点坐标的像素值函数,这三个像素值函数需要是表征图像同一特征的,例如全是RGB值,或全是灰度值,当然不仅仅限于这两种。
S202、计算该源图像的函数与待检测图像的函数的第一相关系数,以及该参考图像的函数与待检测图像的函数的第二相关系数;
这里的第一相关系数和第二相关系数的计算公式如下:
其中,ρ1、ρ2分别为第一相关系数和第二相关系数。
S203、判断第一相关系数与第二相关系数的相对大小是否满足预设条件;
具体实施时,可以设置:判断第二相关系数与第一相关系数的差值是否大于第一预设值,其中,第一预设值大于0;或者,判断第二相关系数与第一相关系数比值是否大于第二预设值,第二预设值大于1,主要用于判断出第二相关系数是否大于第一相关系数。
S204、当判断结果为是时,确定待检测图像为对源图像嵌入参考图像所嵌水印的图像。
第二相关系数大于第一相关系数时,可认为待检测图像为对源图像嵌入参考图像所嵌水印的图像。当然,第二相关系数大于第一相关系数时,第二相关系数与第一相关系数的相差越大,确定待检测图像为对源图像嵌入参考图像所嵌水印的图像的准确性越高。
本实施例所提供的图像水印检测方法,通过比较图像特征的函数之间的关系,可以检测出通过本发明实施例所提供的图像水印嵌入方法所处理的图片的归属。
相应于上述的图像水印嵌入方法,本发明实施例提供了一种图像水印嵌入装置,如图3所示,该装置可以包括:
选取模块31,用于从待处理图像中选取连续的多行像素点;
具体实施时,在对待处理图像嵌入水印时,可以对整个图像的像素点着手嵌入,也可以从局部的像素点着手嵌入,该选取模块31,可根据实际情况,选取较为合适的连续的多行像素点。例如,为了确保图像的首行和最后一行在嵌入水印时不需要扩幅处理,同时为了选取方便,该选取模块31可选取的连续多行像素点不包括待处理图像的首行和最后一行。当然,如果不直接排除首行和最后一行时,也可以这样规定:
图像处理时需要最后一行向上偏移时,该选取模块31,用于选取除待处理图像的最后一行以外的连续的多行像素点。
图像处理时需要首行向上偏移时,该选取模块31,用于选取除待处理图像的首行以外的连续的多行像素点。
映射模块32,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定该多行像素点中每行像素点对应的bit,其中,该bit序列中包括多个bit;
像素偏移量确定模块33,用于根据预设的bit与像素偏移量的对应关系,分别确定该多行像素点中每行像素点对应的像素偏移量;
位置偏移模块34,用于将该多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
像素值重生模块35,用于根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。
本装置的嵌入水印方法与基于离散余弦变换域、小波变换域和傅里叶变换域等水印嵌入方法相比较更加简单,同时,本发明嵌入的水印信息是基于图形像素点位置的即水印包含在图像像素点的位置变化中,在对通过该嵌入方法嵌入水印的图像进行转码时,图像像素点的位置是不变的,转码不会破坏水印,因此,通过该方法获得水印图像能够一定程度的抵抗转码破坏。
本实施例中,该多行像素点的行数为第一预设数量,bit序列的比特个数为第二预设数量,其中,第一预设数量等于第二预设数量的两倍;
映射模块32,用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别与bit序列的第一个至第第二预设数量个bit一一对应,确定该多行像素点中每行像素点对应的bit;
或者;
用于将该多行像素点的第一行至第第二预设数量行分别与bit序列的第第二预设数量个至第一个bit一一对应,将该多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,确定该多行像素点中每行像素点对应的bit。
上述实施例中,预设的bit与像素偏移量的对应关系具体为:
任一bit所对应的像素偏移量为(2*bit-1)/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,其中,N表示第二预设数量。
上述实施中,所述位置偏移模块34,具体用于:
对该多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
对该多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行关于第第二预设数量行的位置偏移量减去本行所对应的像素偏移量的位置偏移。
相应于上述的图像检测方法,本发明实施例还提供了一种图像检测装置,如图4所示,该装置可以包括:
预处理模块41,用于分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,该参考图像为根据上述水印嵌入方法对该源图像嵌入水印所获得的图像;
相关系数计算模块42,用于计算源图像的函数与待检测图像的函数的第一相关系数,以及参考图像的函数与待检测图像的函数的第二相关系数;
判断模块43,用于判断第一相关系数与第二相关系数的相对大小是否满足预设条件;
具体实施时,该相关系数计算模块42可用于判断第二相关系数与第一相关系数的差值是否大于第一预设值,其中,第一预设值大于0;或者,用于判断第二相关系数与第一相关系数比值是否大于第二预设值,第二预设值大于1,主要用于判断出第二相关系数是否大于第一相关系数。
检测结果确定模块44,用于当判断结果为是时,确定待检测图像为对源图像嵌入该参考图像所嵌水印的图像。
具体的,该判断模块43,用于判断当第二相关系数大于第一相关系数时,确认待检测图像为对源图像嵌入参考图像所嵌水印的图像。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于模块实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或者部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种图像水印嵌入方法,其特征在于,所述方法包括:
从待处理图像中选取连续的多行像素点;
根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;
将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。
2.根据权利要求1所述的方法,其特征在于,所述连续的多行像素点包括:除所述待处理图像的首行和最后一行以外的连续多行像素点。
3.根据权利要求2所述的方法,其特征在于,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,包括:
将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,确定所述多行像素点中每行像素点对应的bit;
或者;
将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,确定所述多行像素点中每行像素点对应的bit。
4.根据权利要求3所述的方法,其特征在于,所述预设的bit与像素偏移量的对应关系,为:
任一bit所对应的像素偏移量为(2*bit-1)/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,其中,N表示第二预设数量。
5.根据权利要求4所述的方法,其特征在于,将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移,包括:
将所述多行像素点中的第一行像素点进行关于自身所对应的像素偏移量的位置偏移;
对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
6.一种图像水印检测方法,其特征在于,所述方法包括:
分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考图像为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图像;
计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像的函数与待检测图像的函数的第二相关系数;
判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件;
当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌水印的图像。
7.一种图像水印嵌入装置,其特征在于,所述装置包括:
选取模块,用于从待处理图像中选取连续的多行像素点;
映射模块,用于根据预设的像素行与代表预设水印的bit序列的映射规则,分别确定所述多行像素点中每行像素点对应的bit,其中,所述bit序列中包括多个bit;
像素偏移量确定模块,用于根据预设的bit与像素偏移量的对应关系,分别确定所述多行像素点中每行像素点对应的像素偏移量;
位置偏移模块,用于将所述多行像素点中每行像素点基于所确定的自身所对应的像素偏移量进行位置偏移;
像素值重生模块,用于根据位置偏移后所在的位置和预设插值算法,确定并更新所述多行像素点中每行像素点的像素值。
8.根据权利要求7所述的装置,其特征在于,所述选取模块,用于选取除所述待处理图像的首行和最后一行以外的连续多行像素点。
9.根据权利要求8所述的装置,其特征在于,所述多行像素点的行数为第一预设数量,所述bit序列的比特个数为第二预设数量,其中,所述第一预设数量等于所述第二预设数量的两倍;
所述映射模块,具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第一个至第第二预设数量个bit一一对应,确定所述多行像素点中每行像素点对应的bit;
或者;
具体用于将所述多行像素点的第一行至第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,将所述多行像素点的倒数第一行至倒数第第二预设数量行分别与所述bit序列的第第二预设数量个至第一个bit一一对应,确定所述多行像素点中每行像素点对应的bit。
10.根据权利要求9所述的装置,其特征在于,所述预设的bit与像素偏移量的对应关系,为:
任一bit所对应的像素偏移量为(2*bit-1)/N,或者,任一bit所对应的像素偏移量为(1-2*bit)/N个像素,其中,N表示第二预设数量。
11.根据权利要求10所述的装置,其特征在于,所述位置偏移模块,具体用于:
对所述多行像素点中的第二行至第第二预设数量行的每行像素点,进行关于上一行像素点的位置偏移量加上本行所对应的像素偏移量的位置偏移;
对所述多行像素点中的第第二预设数量加一行至第第一预设数量行的每行像素点,进行上一行像素点的位置偏移量减去本行所对应的像素偏移量的位置偏移。
12.一种图像水印检测装置,其特征在于,所述装置包括:
预处理模块,用于分别计算源图像、待检测图像和参考图像的表征同一特征的函数,其中,所述参考图像为根据权利要求1至5任一方法对所述源图像嵌入水印所获得的图像;
相关系数计算模块,用于计算所述源图像的函数与待检测图像的函数的第一相关系数,以及所述参考图像的函数与待检测图像的函数的第二相关系数;
判断模块,用于判断所述第一相关系数与所述第二相关系数的相对大小是否满足预设条件;
检测结果确定模块,用于当判断结果为是时,确定所述待检测图像为对所述源图像嵌入所述参考图像所嵌水印的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610371664.8A CN105976304B (zh) | 2016-05-30 | 2016-05-30 | 一种图像水印嵌入、检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610371664.8A CN105976304B (zh) | 2016-05-30 | 2016-05-30 | 一种图像水印嵌入、检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976304A CN105976304A (zh) | 2016-09-28 |
CN105976304B true CN105976304B (zh) | 2019-05-10 |
Family
ID=57009848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610371664.8A Active CN105976304B (zh) | 2016-05-30 | 2016-05-30 | 一种图像水印嵌入、检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105976304B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145610B (zh) * | 2017-06-19 | 2020-07-14 | 深圳市Tcl高新技术开发有限公司 | 图片隐藏方法和装置、图片还原方法和装置及终端设备 |
WO2019019013A1 (zh) * | 2017-07-25 | 2019-01-31 | 深圳市大疆创新科技有限公司 | 处理图像的方法、芯片、处理器、系统和可移动设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7286685B2 (en) * | 2000-10-11 | 2007-10-23 | Digimarc Corporation | Halftone watermarking and related applications |
CN103377458A (zh) * | 2012-04-23 | 2013-10-30 | 常熟南师大发展研究院有限公司 | 一种基于字节流的地理空间数据水印方法 |
CN103793880A (zh) * | 2014-03-04 | 2014-05-14 | 山东科技大学 | 一种结构自适应和结构保持的图像局部扭曲方法 |
CN105160618A (zh) * | 2011-08-26 | 2015-12-16 | 北京中盈信安科技发展有限责任公司 | 一种图像水印检测系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840005B2 (en) * | 2002-01-22 | 2010-11-23 | Digimarc Corporation | Synchronization of media signals |
-
2016
- 2016-05-30 CN CN201610371664.8A patent/CN105976304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7286685B2 (en) * | 2000-10-11 | 2007-10-23 | Digimarc Corporation | Halftone watermarking and related applications |
CN105160618A (zh) * | 2011-08-26 | 2015-12-16 | 北京中盈信安科技发展有限责任公司 | 一种图像水印检测系统 |
CN103377458A (zh) * | 2012-04-23 | 2013-10-30 | 常熟南师大发展研究院有限公司 | 一种基于字节流的地理空间数据水印方法 |
CN103793880A (zh) * | 2014-03-04 | 2014-05-14 | 山东科技大学 | 一种结构自适应和结构保持的图像局部扭曲方法 |
Non-Patent Citations (1)
Title |
---|
基于行间距编码的文本数字水印算法;梁旭等;《信息技术》;20080322;第38-41页 |
Also Published As
Publication number | Publication date |
---|---|
CN105976304A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Passive detection of doctored JPEG image via block artifact grid extraction | |
AU758814B2 (en) | A method for inserting and detecting electronic watermark data into a digital image and a device for the same | |
Zheng et al. | RST-invariant digital image watermarking based on log-polar mapping and phase correlation | |
Wu et al. | An adjusted-purpose digital watermarking technique | |
KR20060121972A (ko) | 전자 워터마크 매립 방법, 전자 워터마크 검출 방법, 장치 및 프로그램을 기록한 기록 매체 | |
CN103325081B (zh) | 基于空间域图像数字水印的嵌入及提取方法 | |
CN105976304B (zh) | 一种图像水印嵌入、检测方法及装置 | |
Munib et al. | Robust image watermarking technique using triangular regions and Zernike moments for quantization based embedding | |
CN102024244B (zh) | 基于图像特征区域的水印嵌入、检测方法及其装置 | |
Zope-Chaudhari et al. | Copyright protection of vector data using vector watermark | |
EP1028585A1 (en) | A method for inserting and detecting electronic watermark data into a digital image and a device for the same | |
CN109493271B (zh) | 图像差值量化水印嵌入方法、提取方法、设备及存储介质 | |
JP4360341B2 (ja) | 電子透かし検出装置及び方法及びプログラム | |
CN116012212A (zh) | 基于SUSAN-DCT和Hu矩的医学图像鲁棒水印方法 | |
Voigt et al. | High-capacity reversible watermarking for 2D vector data | |
Jadav | Comparison of LSB and Subband DCT Technique for Image Watermarking | |
Yang et al. | Authorization identification by watermarking in log-polar coordinate system | |
CN103020886B (zh) | 一种基于线特征的数字扫描地图水印方法 | |
Jung et al. | Data hiding based on two-stage referencing for two-colour images | |
CN111062853A (zh) | 自适应图像水印嵌入方法及系统、提取方法及系统 | |
Zope-Chaudhari et al. | Protecting geospatial data using digital watermarking | |
Wicaksana et al. | Digital Watermarking for Color Image Using DHWT and LSB | |
WO2003056515A1 (en) | Digital watermarking | |
Sao Nguyen et al. | A new reversible watermarking method based on histogram shifting | |
JP3630026B2 (ja) | 電子透かし情報の判定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |