针对水印载体的水印处理方法及装置
技术领域
本公开涉及计算机领域,特别涉及针对水印载体的水印处理方法及装置、计算机可存储介质。
背景技术
水印在网页、图片和文档等水印载体的版权保护、泄露溯源中有重要而广泛的应用。
相关技术中,直接将水印图像嵌入到水印载体中。
发明内容
相关技术中,在无法预先获取水印载体的相关信息的情况下,水印添加和提取困难,且准确性较差。
针对上述技术问题,本公开提出了一种解决方案,可以降低水印添加和提取的难度,提高水印提取的准确性。
根据本公开的第一方面,提供了一种针对水印载体的水印处理方法,包括:根据浏览所述水印载体的用户的标识,生成反映所述用户的标识的水印图像;获取定位图像,所述定位图像包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理;将所述水印图像嵌入所述定位图像,得到复合图像,所述复合图像包括所述定位纹理;叠加所述复合图像到所述水印载体中。
在一些实施例中,叠加所述复合图像到所述水印载体中包括:根据所述用户预设的叠加所述复合图像所需的叠加透明度,对所述复合图像进行增强处理;以所述叠加透明度叠加增强处理后的复合图像到所述水印载体中。
在一些实施例中,对所述复合图像进行增强处理包括:对于所述复合图像的每个像素点,根据所述每个像素点在所述定位图像的第一像素值、所述每个像素点在所述复合图像的第二像素值和所述叠加透明度,确定所述每个像素点在所述复合图像中的目标像素值。
在一些实施例中,针对所述每个像素点:目标像素值与第一像素值成负相关,且与第二像素值成正相关;在第二像素值大于第一像素值的情况下,目标像素值与所述叠加透明度成负相关;在第二像素值小于第一像素值的情况下,目标像素值与所述叠加透明度成正相关;在第二像素值等于第一像素值的情况下,目标像素值等于第一像素值。
在一些实施例中,确定所述每个像素点在所述复合图像中的目标像素值包括:计算所述每个像素点的第二像素值与第一像素值的差值;计算所述差值与所述叠加透明度的比值;根据所述比值与所述第一像素值的和,计算所述每个像素点的目标像素值。
在一些实施例中,叠加所述复合图像到所述水印载体中包括:将所述复合图像中的像素值小于截断阈值的像素点的像素值修改为所述截断阈值,以对所述复合图像进行像素值截断;叠加进行像素值截断后的复合图像到所述水印载体中。
在一些实施例中,叠加所述复合图像到所述水印载体中包括:获取所述定位图像中定位纹理的第一像素值;将所述复合图像中的定位纹理的第二像素值还原为所述第一像素值;叠加定位纹理的第二像素值被还原为第一像素值的复合图像到所述水印载体中。
在一些实施例中,根据浏览所述水印载体的用户的标识,生成反映所述用户的标识的水印图像包括:确定与浏览所述水印载体的用户的标识对应的数字编码,所述数字编码包括一位或多位数字,每位数字的取值范围为0到9;获取承载所述数字编码的空白图像;确定所述空白图像中用于承载所述数字编码的每位数字的像素块的位置坐标;根据所确定的每位数字的像素块的位置坐标,将所述空白图像中用于承载所述数字编码的每位数字的像素块的像素值设置为预设像素值,所述预设像素值与所述空白图像中除承载各位数字的像素块以外的其他像素块的像素值的差值的绝对值大于像素块阈值。
在一些实施例中,所述空白图像的宽度与所述像素块的大小和所述数字编码的位数分别成正相关,所述空白图像的高度根据所述像素块的大小确定。
在一些实施例中,所述数字编码的位数与所述定位图像的宽度和高度分别成正相关。
在一些实施例中,叠加所述复合图像到所述水印载体中包括:通过平铺的方式,叠加所述复合图像到所述水印载体中。
在一些实施例中,所述定位纹理包括文字内容和图形内容中的至少一种。
根据本公开第二方面,提供了一种针对水印载体的水印处理方法,其中,所述水印载体叠加有在定位图像中嵌入了水印图像的复合图像,所述水印图像根据浏览所述水印载体的用户的标识生成且反映所述用户的标识,所述定位图像和所述复合图像均包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理,所述水印处理方法包括:获取所述水印载体的至少一部分的图像,作为待处理图像;利用所述定位图像中的定位纹理和所述待处理图像中的定位纹理,定位所述复合图像在所述水印载体中的位置,以定位所述水印图像在所述水印载体中的位置;根据所述复合图像在所述水印载体中的位置,从所述待处理图像中,提取所述水印图像。
在一些实施例中,定位所述复合图像在所述水印载体中的位置包括:对所述定位图像和所述待处理图像进行图像特征点匹配操作,得到多组特征点对,每组特征点对为特征匹配的像素点在定位图像中的像素位置坐标和在所述待处理图像中的像素位置坐标的对应关系;根据所述多组特征点对,定位所述复合图像在所述水印载体中的位置。
在一些实施例中,从所述待处理图像中,提取所述水印图像包括:根据所述多组特征点对,计算仿射矩阵;根据所述仿射矩阵,对所述待处理图像执行对齐操作;根据所述复合图像在所述水印载体中的位置,从对齐后的待处理图像中,截取叠加有一个所述复合图像的待处理子图像;从所述待处理子图像中,提取所述水印图像。
在一些实施例中,从所述待处理子图像中,提取所述水印图像包括:针对所述待处理子图像的每个图像通道,根据所述每个图像通道内的各个像素点的像素值,确定表征所述待处理子图像的背景的像素值范围;根据所述像素值范围,对所述待处理子图像中叠加的复合图像进行增强处理;从增强处理后的待处理子图像中,提取所述水印图像。
在一些实施例中,对所述待处理子图像中叠加的复合图像进行增强处理包括:确定所述像素值范围中的最大像素值和最小像素值;针对所述待处理子图像的每个图像通道,根据每个像素点的像素值与所述最大像素值和最小像素值的大小关系,更新所述每个像素点的像素值,以增大所述待处理子图像的背景与所述复合图像的对比度。
在一些实施例中,所述复合图像和所述待处理子图像均为灰度图,更新所述每个像素点的像素值包括:针对所述待处理子图像的每个图像通道中的每个像素点,在所述每个像素点的像素值小于所述最小像素值的情况下,将所述每个像素点的像素值更新为0;在所述每个像素点的像素值大于所述最大像素值的情况下,将所述每个像素点的像素值更新为255;在所述每个像素点的像素值大于或等于所述最小像素值、且小于或等于所述最大像素值的情况下,根据所述最大像素值与最小像素值的差值、以及所述每个像素点的像素值,更新所述每个像素点的像素值,使得更新后的像素值大于更新前的像素值。
在一些实施例中,针对所述待处理子图像的每个图像通道中的每个像素点,在所述每个像素点的像素值大于或等于所述最小像素值、且小于或等于所述最大像素值的情况下,更新后的像素值与所述差值成负相关,且与更新前的像素值成正相关。
在一些实施例中,定位所述复合图像在所述水印载体中的位置包括:对所述待处理图像进行预处理,所述预处理包括直方图均衡化和局部二值化中的至少一种;利用所述定位图像中的定位纹理和预处理后的待处理图像中的定位纹理,定位所述复合图像在所述水印载体中的位置。
在一些实施例中,水印处理方法,还包括:在提取所述水印图像后,计算所提取的水印图像中每个像素块中的各个像素点的像素值的平均值,作为像素块平均值;根据所述像素块平均值,确定与所述用户的标识对应的数字编码的各位数字所在的像素块的位置;根据所确定的各位数字所在的像素块的位置,确定所述数字编码;根据所述数字编码,确定所述用户的标识。
在一些实施例中,所述数字编码为N位,N为正整数,确定与所述用户的标识对应的数字编码的各位数字所在的像素块的位置包括:计算与各个像素块对应的各个像素块平均值的平均值,作为参考平均值;从与各个像素块对应的各个像素块平均值中,确定与所述参考平均值的差值最大的N个像素块的位置为与所述数字编码的各位数字所在的像素块的位置。
根据本公开第三方面,提供了一种针对水印载体的水印处理装置,包括:生成模块,被配置为根据浏览所述水印载体的用户的标识,生成反映所述用户的标识的水印图像;获取模块,被配置为获取定位图像,所述定位图像包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理;嵌入模块,被配置为将所述水印图像嵌入所述定位图像,得到复合图像,所述复合图像包括所述定位纹理;叠加模块,被配置为叠加所述复合图像到所述水印载体中。
根据本公开第四方面,提供了一种针对水印载体的水印处理装置,其中,所述水印载体叠加有在定位图像中嵌入了水印图像的复合图像,所述水印图像根据浏览所述水印载体的用户的标识生成且反映所述用户的标识,所述定位图像和所述复合图像均包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理,所述水印处理装置包括:获取模块,被配置为获取所述水印载体的至少一部分的图像,作为待处理图像;定位模块,被配置为利用所述定位图像中的定位纹理和所述待处理图像中的定位纹理,定位所述复合图像在所述水印载体中的位置,以定位所述水印图像在所述水印载体中的位置;提取模块,被配置为根据所述复合图像在所述水印载体中的位置,从所述待处理图像中,提取所述水印图像。
根据本公开的第五方面,提供了一种针对水印载体的水印处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的针对水印载体的水印处理方法。
根据本公开的第六方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的针对水印载体的水印处理方法。
在上述实施例中,可以降低水印添加和提取的难度,提高水印提取的准确性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的水印处理方法的流程图;
图2A是示出根据本公开一些实施例的水印图像的示意图;
图2B是示出根据本公开一些实施例的定位图像的示意图;
图2C是示出根据本公开一些实施例的复合图像的示意图;
图2D是示出根据本公开另一些实施例的复合图像的示意图;
图3A是示出根据本公开一些实施例的叠加有复合图像到水印载体的示意图;
图3B是示出根据本公开另一些实施例的叠加有复合图像到水印载体的示意图;
图4是示出根据本公开一些实施例的水印处理方法的流程图;
图5A是示出根据本公开一些实施例的待处理图像的示意图;
图5B示出根据本公开另一些实施例的待处理子图像的示意图;
图5C是示出根据本公开再一些实施例的待处理子图像的示意图;
图5D是示出根据本公开一些实施例的增强处理后的待处理子图像的示意图;
图5E是示出根据本公开一些实施例的从待处理子图像中提取出的水印图像的示意图;
图6是示出根据本公开一些实施例的水印处理装置的框图;
图7是示出根据本公开另一些实施例的水印处理装置的框图;
图8是示出根据本公开一些实施例的水印处理装置的框图;
图9是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的水印处理方法的流程图。
如图1所示,针对水印载体的水印处理方法包括:步骤S110,生成反映用户的标识的水印图像;步骤S120,获取定位图像;步骤S130,将水印图像嵌入定位图像(瓦片图),得到复合图像;步骤S140,叠加复合图像到水印载体中。在无法预先获取水印载体的相关信息的情况下,通过获取包括定位纹理的定位图像,并将水印图像嵌入到包括定位纹理的定位图像中,得到融合有水印信息的复合图像,并将复合图像叠加到水印载体中,可以降低水印添加的难度。另外,定位纹理可以在水印提取过程中辅助定位水印图像在水印载体中的位置,从而可以降低水印提取的难度,提高水印提取的准确性。例如,水印处理方法由水印处理装置执行。
在步骤S110中,根据浏览水印载体的用户的标识,生成反映用户的标识的水印图像。在一些实施例中,水印载体包括但不限于网页、图片、文档。例如,用户的标识为用户ID(Identity document,身份证标识号)。
在一些实施例中,可以通过如下的方式实现生成反映用户的标识的水印图像。
首先,确定与浏览水印载体的用户的标识对应的数字编码。数字编码包括一位或多位数字,每位数字的取值范围为0到9。在一些实施例中,可以通过哈希映射、md5(message-digest algorithm 5,信息-摘要算法5)映射或者硬编码查表映射的方式,确定与用户的标识对应的数字编码。
例如,数字编码的位数与定位图像的宽度和高度分别成正相关。在一些实施例中,数字编码包括N位数字(编码),N为正整数。例如,N=W1×H1/C。W1为定位图像的宽度,H1为定位图像的高度,C为常数。以数字编码的一位数字占据一个5×5的像素块、水印图像嵌入定位图像的水印嵌入算法为DWT-DCT(Discrete Wavelet Transformation-DiscreteCosine Transformation,离散小波变换-离散余弦变换)算法为例,C=8×5×5×10=4000,8由水印嵌入算法决定,5×5为像素块的像素大小,10表示每位数字的取值为0到9这10个数字。例如,用户的标识所对应的数字编码为“123456”。
其次,获取承载数字编码的空白图像。例如,数字编码的每位数字被承载在空白图像的像素块中。像素块的大小可以由用户预先设定。例如,像素块的大小为5×5。
在一些实施例中,空白图像的宽度与像素块的大小和数字编码的位数分别成正相关。空白图像的高度根据像素块的大小确定。以数字编码为“123456”、像素块大小为5×5、每位数字的取值范围为0~9为例,空白图像的高度H2=50像素,宽度W2=5×6=30像素。
然后,确定空白图像中用于承载数字编码的每位数字的像素块的位置坐标。例如,以数字编码为“123456”、像素块大小为5×5、每位数字的取值范围为0~9为例,在高度方向上,空白图像的每一列包括10个像素块,从上到下分别代表数字0~9。数字编码的每位数字通过空白图像的一列表示。根据该规则,可以确定数字编码“123456”的每位数字的像素块的位置坐标。例如,“1”的像素块的位置坐标为(1,1),“2”的像素块的位置坐标为(2,2),“3”的像素块的位置坐标为(3,3),“4”的像素块的位置坐标为(4,4),“5”的像素块的位置坐标为(5,5),“6”的像素块的位置坐标为(6,6)。
最后,根据所确定的每位数字的像素块的位置坐标,将空白图像中用于承载数字编码的每位数字的像素块的像素值设置为预设像素值。预设像素值与空白图像中除承载各位数字的像素块以外的其他像素块的像素值的差值的绝对值大于像素块阈值。例如,预设像素值为0(黑色),其他像素块的像素值为255(白色)。
例如,对于数字编码“123456”,水印图像如图2所示。
图2A是示出根据本公开一些实施例的水印图像的示意图。
如图2A所示,每个虚线小方格代表一个像素块,每列包括10个像素块,从上到下分别代表数字0~9。从左到右的每一列表示每一位数字在数字编码中所在的位置。即六位数字从左到右排列。图中的虚线仅仅辅助理解水印图像的结构,并不属于水印图像的一部分。
数字编码“123456”的每位数字分别在水印图像的像素位置(1,1)、(2,2)、(3,3)、(4,4)、(5,5)、(6,6)处,其像素值为0,呈现黑色。除每位数字所在的像素块以外的其他像素块的像素值为255,呈现白色。水印图像为二值化图像。
返回图1,在步骤S120中,获取定位图像。定位图像包括用于在水印提取过程中定位水印图像在水印载体中的位置的定位纹理。在一些实施例中,定位纹理包括文字内容和图形内容中的至少一种。例如,文字内容可以是“版权所有,盗版必究”、“内部资料,请勿外传”等提示语。例如,图形内容可以是公司logo(logotype,徽标)等。
在一些实施例中,可以根据用户预先配置的定位图像的宽度W3、高度H3、背景灰度值和定位纹理,生成定位图像。例如,以水印载体为网页,为保证水印图像的覆盖密集度,W3和H3的取值范围为150~300毫米。例如,背景灰度值为230。定位纹理的灰度值例如小于背景灰度值。在一些实施例中,还可以根据用户预先配置的定位纹理的透明度,为定位图像中的定位纹理设置透明度。
图2B是示出根据本公开一些实施例的定位图像的示意图。
如图2B所示,定位图像包括“内部资料请勿外传”的定位纹理,灰度值为230。定位纹理的灰度值小于230。
返回图1,在步骤S130中,将水印图像嵌入定位图像,得到复合图像。复合图像包括定位纹理。
在一些实施例中,可以利用数字水印嵌入算法,将水印图像嵌入定位图像。例如,数字水印嵌入算法为离散余弦变换(Discrete Cosine Transformation,DCT)、离散小波变换(Discrete Wavelet Transformation,DWT)、离散傅立叶变换(Discrete FourierTransform,DFT)、离散小波变换-离散余弦变换(Discrete Wavelet Transformation-Discrete Cosine Transformation,DWT-DCT)。在另一些实施例中,还可以将定位图像的背景和定位纹理分离,将水印图像嵌入到定位图像的背景图层后,合并图层。
在步骤S140中,叠加复合图像到水印载体中。
在一些实施例中,可以通过如下的方式实现叠加复合图像到水印载体中。
首先,根据用户预设的叠加复合图像所需的叠加透明度,对复合图像进行增强处理。
例如,对于复合图像的每个像素点,根据每个像素点在定位图像的第一像素值、每个像素点在复合图像的第二像素值和叠加透明度,确定每个像素点在复合图像中的目标像素值。
在一些实施例中,针对所述每个像素点:目标像素值与第一像素值成负相关,且与第二像素值成正相关;在第二像素值大于第一像素值的情况下,目标像素值与叠加透明度成负相关;在第二像素值小于第一像素值的情况下,目标像素值与叠加透明度成正相关;在第二像素值等于第一像素值的情况下,目标像素值等于第一像素值。
在一些实施例中,计算每个像素点的第二像素值与第一像素值的差值;计算差值与叠加透明度的比值;根据比值与第一像素值的和,计算每个像素点的目标像素值。例如,对于坐标为(x,y)的像素点,第一像素值为P1,第二像素值为P2,目标像素值为P,透明度为T。P=(P2-P1)/T+P1。
图2C是示出根据本公开一些实施例的复合图像的示意图。
图2C所示的图像为增强处理后的复合图像。对复合图像进行增强处理就是对嵌入到定位图像中的水印图像进行增强。
然后,以叠加透明度叠加增强处理后的复合图像到水印载体中。
在上述实施例中,通过根据叠加透明度对复合图像进行增强处理,可以进一步降低水印提取的难度,进一步提高水印提取的准确性。
在一些实施例中,还可以通过如下的方式实现叠加复合图像到水印载体中。
首先,将复合图像中的像素值小于截断阈值的像素点的像素值修改为截断阈值,以对复合图像进行像素值截断。截断阈值为一个像素值阈值,例如为216。
然后,叠加进行像素值截断后的复合图像到水印载体中。
在上述实施例中,通过对复合图像进行像素值截断,实现去噪,可以提高用户浏览体验。
在一些实施例中,还可以通过如下的方式实现叠加复合图像到水印载体中。
首先,获取定位图像中定位纹理的第一像素值。
然后,将复合图像中的定位纹理的第二像素值还原为第一像素值。
最后,叠加定位纹理的第二像素值被还原为第一像素值的复合图像到水印载体中。
在上述实施例中,通过还原定位纹理的像素值,可以增加定位纹理的清晰度,进一步降低水印提取的难度,进一步提高水印提取的准确性。
在一些实施例中,还可以依次对复合图像进行增强处理、像素值截断和像素值还原后,叠加复合图像到水印载体中。
图2D是示出根据本公开另一些实施例的复合图像的示意图。
图2D示出的图像为依次进行了增强处理、像素值截断和像素值还原后的复合图像。与图2B相比,可见定位纹理依然很清晰,但是除定位纹理以外的其他部分进行了增强,但是噪声又比图2C少。
在一些实施例中,可以通过平铺的方式,叠加复合图像到水印载体中。例如,可以以用户预设的叠加透明叠加复合图像到水印载体中。
图3A是示出根据本公开一些实施例的叠加有复合图像到水印载体的示意图。图3A示出了以0.2的透明度将复合图像平铺叠加到水印载体的叠加效果图。“test”为水印载体的正文。
图3B是示出根据本公开另一些实施例的叠加有复合图像到水印载体的示意图。图3B示出了以可以使用户无感知的透明度将复合图像平铺叠加到水印载体的叠加效果图。用户无感知的透明度是将定位纹理的灰度值调整到和复合图像的背景的灰度值差值小于或等于2的透明度,使得用户看不到复合图像。“test”为水印载体的正文。
图4是示出根据本公开一些实施例的水印处理方法的流程图。
如图4所示,针对水印载体的水印处理方法包括步骤S410-步骤S430。水印载体叠加有在定位图像中嵌入了水印图像的复合图像。水印图像根据浏览水印载体的用户的标识生成且反映用户的标识。定位图像和复合图像均包括用于在水印提取过程中定位水印图像在水印载体中的位置的定位纹理。例如,水印处理方法由水印处理装置执行。
在步骤S410中,获取水印载体的至少一部分的图像,作为待处理图像。例如,水印载体为网页,待处理图像为网页截图。
在步骤S420中,利用定位图像中的定位纹理和待处理图像中的定位纹理,定位复合图像在所述水印载体中的位置,以定位水印图像在所述水印载体中的位置。
在一些实施例中,可以首先对待处理图像进行预处理。预处理包括直方图均衡化和局部二值化中的至少一种。然后,利用定位图像中的定位纹理和预处理后的待处理图像中的定位纹理,定位复合图像在水印载体中的位置。例如,局部二值化的滑动窗口大小为50×50毫米,步长为50毫米,局部二值化算法为OTSU(最大类间方差法)算法。通过预处理,可以进一步降低水印提取的难度,进一步提高水印提取的准确性。
图5A是示出根据本公开一些实施例的待处理图像的示意图。图5A是以图3A的水印载体为待处理图像,并对其进行直方图均衡化后的待处理图像。可见,图5A相对于图3A来说,纹理增强。
图5B是示出根据本公开另一些实施例的待处理图像的示意图。图5B是对图5A的待处理图像进行图片二值化的待处理图像。可见,图5B相对于图5A来说,定位纹理变得更加清晰。
在一些实施例中,对定位图像和待处理图像进行图像特征点匹配操作,得到多组特征点对。每组特征点对为特征匹配的像素点在定位图像中的像素位置坐标和在待处理图像中的像素位置坐标的对应关系。根据多组特征点对,定位复合图像在水印载体中的位置。
例如,还可以对定位图像和依次进行直方图均衡化、局部二值化后的待处理图像进行图像特征点匹配操作,得到多组特征点对。图像特征点匹配可以采用SIFT(Scale-invariant feature transform,尺度不变特征变换)算法、FAST(Features fromaccelerated segment test,加速分段试验的特点)算法、AKAZE算法等。
返回图4,在步骤S430中,根据复合图像在水印载体中的位置,从待处理图像中,提取水印图像。
在一些实施例中,可以通过如下的方式实现从待处理图像中,提取水印图像。
首先,根据图像特征点匹配操作得到的多组特征点对,计算仿射矩阵。
其次,根据仿射矩阵,对待处理图像执行对齐操作(仿射变换)。
然后,根据复合图像在水印载体中的位置,从对齐后的待处理图像中,截取叠加有一个复合图像的待处理子图像。例如,图5C示出的是从图3A中的水印载体中截取的待处理子图像。
最后,从待处理子图像中,提取水印图像。例如,可以利用与数字水印嵌入算法相反的数字水印提取算法,从待处理子图像中,提取水印图像。
在一些实施例中,可以针对待处理子图像的每个图像通道,根据每个图像通道内的各个像素点的像素值,确定表征待处理子图像的背景的像素值范围;根据所述像素值范围,对待处理子图像中叠加的复合图像进行增强处理;进而从增强处理后的待处理子图像中,提取水印图像。通过增强处理,可以进一步降低水印提取的难度,进一步提高水印提取的准确性。
例如,图5D示出了对5C的待处理子图像中叠加的复合图像进行增强处理后的待处理子图像。可见,相对于图5C,图5D示出的待处理子图像的纹理更强。又例如,图5E示出了从图5D中的待处理子图像中提取出的水印图像。
例如,可以通过如下的方式对待处理子图像中叠加的复合图像进行增强处理。
首先,确定表征待处理子图像的背景的像素值范围中的最大像素值和最小像素值。
然后,针对待处理子图像的每个图像通道,根据每个像素点的像素值与最大像素值和最小像素值的大小关系,更新每个像素点的像素值,以增大待处理子图像的背景与复合图像的对比度。
例如,复合图像和待处理子图像均为灰度图,更新每个像素点的像素值包括:针对待处理子图像的每个图像通道中的每个像素点,在每个像素点的像素值小于最小像素值的情况下,将每个像素点的像素值更新为0;在每个像素点的像素值大于最大像素值的情况下,将每个像素点的像素值更新为255;在每个像素点的像素值大于或等于最小像素值、且小于或等于最大像素值的情况下,根据最大像素值与最小像素值的差值、以及每个像素点的像素值,更新每个像素点的像素值,使得更新后的像素值大于更新前的像素值。
例如,针对待处理子图像的每个图像通道中的每个像素点,在每个像素点的像素值大于或等于最小像素值、且小于或等于最大像素值的情况下,更新后的像素值与差值成负相关,且与更新前的像素值成正相关。例如,更新后的像素值P_new=(P-P_new)×255/(P_max-P_min),P为更新前的像素值,P_max为最大像素值,P_min为最小像素值。
在一些实施例中,在提取水印图像后,计算所提取的水印图像中每个像素块中的各个像素点的像素值的平均值,作为像素块平均值;根据所述像素块平均值,确定与用户的标识对应的数字编码的各位数字所在的像素块的位置;根据所确定的各位数字所在的像素块的位置,确定数字编码;根据数字编码,确定用户的标识。例如,通过数字编码与用户的标识的对应关系,可以确定用户的标识,实现泄漏溯源。
例如,数字编码为N位,N为正整数。确定与用户的标识对应的数字编码的各位数字所在的像素块的位置包括:计算与各个像素块对应的各个像素块平均值的平均值,作为参考平均值;从与各个像素块对应的各个像素块平均值中,确定与参考平均值的差值最大的N个像素块的位置为与数字编码的各位数字所在的像素块的位置。
以生成图2A的水印图像为例,针对图5E的水印图像,以5×5的像素块对图5E的水印图像进行划分,对每个像素块中的像素点的像素值求平均值得到像素块平均值。对于划分像素块后的每一列,选取像素块平均值与该列的各个像素块的像素块平均值的均值的差距最大的为相应数字编码位置的数字。
在上述实施例,通过待处理图像的定位纹理和定位图像中的定位纹理,可以定位水印图像在水印载体中的位置,从而可以提取水印图像,可以降低水印提取的难度,提高水印提取的准确性。
图6是示出根据本公开一些实施例的水印处理装置的框图。
如图6所示,针对水印载体的水印处理装置6包括生成模块61、获取模块62、嵌入模块63和叠加模块64。
生成模块61被配置为根据浏览所述水印载体的用户的标识,生成反映所述用户的标识的水印图像,例如执行如图1所示的步骤S110。
获取模块62被配置为获取定位图像,例如执行如图1所示的步骤S120。定位图像包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理。
嵌入模块63被配置为将所述水印图像嵌入所述定位图像,得到复合图像,例如执行如图1所示的步骤S130。所述复合图像包括所述定位纹理。
叠加模块64被配置为叠加所述复合图像到所述水印载体中,例如执行如图1所示的步骤S140。
图7是示出根据本公开另一些实施例的水印处理装置的框图。水印载体叠加有在定位图像中嵌入了水印图像的复合图像,所述水印图像根据浏览所述水印载体的用户的标识生成且反映所述用户的标识,所述定位图像和所述复合图像均包括用于在水印提取过程中定位所述水印图像在所述水印载体中的位置的定位纹理。
如图7所示,针对水印载体的水印处理装置7包括获取模块71、定位模块72和提取模块73。
获取模块71被配置为获取所述水印载体的至少一部分的图像,作为待处理图像,例如执行如图4所示的步骤S410。
定位模块72被配置为利用所述定位图像中的定位纹理和所述待处理图像中的定位纹理,定位所述复合图像在所述水印载体中的位置,以定位所述水印图像在所述水印载体中的位置,例如执行如图4所示的步骤S420。
提取模块73被配置为根据所述复合图像在所述水印载体中的位置,从所述待处理图像中,提取所述水印图像,例如执行如图4所示的步骤S430。
图8是示出根据本公开一些实施例的水印处理装置的框图。
如图8所示,针对水印载体的水印处理装置8包括存储器81;以及耦接至该存储器81的处理器82。存储器81用于存储执行水印处理方法对应实施例的指令。处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一些实施例中的水印处理方法。水印处理装置8可以具有与水印处理装置6和水印处理装置7中的至少一种相同或类似的功能。
图9是示出用于实现本公开一些实施例的计算机系统的框图。
如图9所示,计算机系统90可以通用计算设备的形式表现。计算机系统90包括存储器910、处理器920和连接不同系统组件的总线900。
存储器910例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行水印处理方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器920可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线900可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统90还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间可以通过总线900连接。输入输出接口930可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的针对水印载体的水印处理方法及装置、计算机可存储介质,可以降低水印添加和提取的难度,提高水印提取的准确性。
至此,已经详细描述了根据本公开的针对水印载体的水印处理方法及装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:图像处理装置