发明内容
本发明提供的变形字的检测方法及装置,用以解决现有技术不能准确检测出变形字的问题。
本发明提供的变形字中水印信息的确定方法及装置,用以解决现有技术由于不能准确检测出变形字而导致无法准确确定出通过变形字携带的水印信息的问题。
本发明实施例通过如下技术方案实现:
本发明实施例提供了一种变形字的检测方法,包括:
根据预先指定的变形字集合,确定待检测图像中的待检测字符;
获取所述待检测字符对应的变形描述信息;
根据所述变形描述信息以及所述待检测字符的***区域对应的图像数据,统计所述待检测字符的特征值;
当所述待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,确定所述待检测字符为变形字。
本发明实施例还提供了一种变形字中水印信息的确定方法,包括:
根据预先指定的变形字集合,确定待检测图像中的待检测字符;
获取所述待检测字符对应的变形描述信息;
根据所述变形描述信息以及所述待检测字符的***区域对应的图像数据,统计所述待检测字符的特征值;
当所述待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,根据所述待检测字符的特征值和所述标准字符的特征值之间的相似度,确定所述待检测字符对应的水印信息。
本发明实施例还提供了一种变形字的检测装置,包括:
待检测字符确定单元,用于根据预先指定的变形字集合,确定待检测图像中的待检测字符;
变形描述信息获取单元,用于获取所述待检测字符对应的变形描述信息;
特征值统计单元,用于根据所述变形描述信息获取单元获取的变形描述信息以及所述待检测字符的***区域对应的图像数据,统计所述待检测字符的特征值;
变形字确定单元,用于当所述特征值统计单元统计出的待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,确定所述待检测字符为变形字。
本发明实施例还提供了一种变形字中水印信息的确定装置,包括:
待检测字符确定单元,用于根据预先指定的变形字集合,确定待检测图像中的待检测字符;
变形描述信息获取单元,用于获取所述待检测字符对应的变形描述信息;
特征值统计单元,用于根据所述变形描述信息以及所述待检测字符的***区域对应的图像数据,统计所述待检测字符的特征值;
信息确定单元,用于当所述待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,根据所述待检测字符的特征值和所述标准字符的特征值之间的相似度,确定所述待检测字符对应的水印信息。
本发明实施例通过上述技术方案,在检测变形字的过程中,首先根据预先指定的变形字集合,确定出待检测图像中的待检测字符,然后统计出待检测字符对应的特征值,并将统计出的待检测字符的特征值和与该待检测字符对应的标准字符的特征值进行比较,当比较结果为不一致时,确定该待检测字符为变形字。与现有技术相比,检测过程无需借助于人工或OCR技术完成,对变形字的检测结果准确度高,自动化程度高。并且,对变形字的变形程度要求低,从而提高了水印信息的隐蔽性。进一步地,本发明实施例中,当确定出变形字后,根据该变形字的特征值和相应的标准字符的特征值之间的相似度,确定该变形字对应的水印信息,从而可以根据变形字的变形程度精确地确定出变形字对应的水印信息,提高了变形字中可嵌入的信息量。
具体实施方式
针对上述方法不能准确检测出变形字以及不能准确确定出通过变形字携带的水印信息的问题,本发明实施例提出了变形字的检测方法、变形字中水印信息的确定方法及装置,下面结合说明书附图对本发明实施例的主要实现原理、具体实施过程及其对应能够达到的有益效果进行详细的阐述。
首先对本发明实施例所涉及的变形字的生成过程以及水印信息的嵌入过程进行简单描述:
目前,对字符进行变形的技术中主要的变形方法有两类,一是翻转字符笔画边缘的点以改变笔画的粗细;二是改变字符笔画的长短、位置等。其中改变字符笔画的长短、位置的变形方法运用较为广泛,在这种技术中,所有对笔画位置、长短的改变,都可以通过对笔画的整体或局部做“伸缩”、“移动”、“旋转”这3种变化中的一种或组合完成。本发明实施例提供的变形字的检测方法及变形字中水印信息的确定方法,适用于上述变形中的任何一种。为描述方便,以下叙述中,主要以通过第二类变形方法生成的变形字为例进行说明。
本发明实施例中,可以利用字库工具生成变形字,具体地,选择适合进行变形的字符,根据对字符进行的不同变形类型以及不同变形幅度生成不同的变形字,并对同一字符的不同变形进行编码,例如,对字符“生”进行变形,可根据其自身的字形特征改变其中间一横的长度,并根据改变幅度的不同生成不同的变形字。对不同幅度对应的变形字“生”进行编码,例如,编码为“1”、“2”、“3”......。实际应用中,可将制作好的变形字存入预先建立的专用字库中,该专用字库可以根据需要做成TureType字库或者Postscript字库。在保存变形字时,可对变形字建立索引以方便查找。
在通过上述过程制作变形字的过程中,需要对每个变形字进行标引,所谓的标引即记录每个变形字的变形描述信息的过程。其中,变形字的变形描述信息包括:
该变形字对应的嵌入点及对应的数目,每个嵌入点中的变形区域以及每个变形区域对应的区域描述信息。
变形字对应的嵌入点即该变形字中发生变形的笔画,一个变形字可以有一个或多个嵌入点,如图1所示的变形字“生”,该变形字的中间一横与标准字符“生”相比发生了变化,称该变形字的中间一横为该变形字的嵌入点,再如图2所示的变形字“我”,该变形字右下角的勾与标准字符“我”相比发生了变化,称该变形字的右下角的勾为该变形字的嵌入点;嵌入点的变形区域即该嵌入点的具体变形区域,每个嵌入点可以有一个或多个变形区域,如图3所示的变形字“生”,中间一横从笔画的两端被压缩,称该笔画有两个变形区域,再如图2所示的“我”,右下角的勾被旋转,称该笔画有一个变形区域;变形区域对应的区域描述信息包括该变形区域的变形类型、控制量等参数,如图3所示,两个变形区域都被压缩,即该变形区域的变形类型为“压缩”,其中,变形区域1向右压缩,即变形区域1的控制量为“向右压缩”,变形区域2向左压缩,即变形区域2的控制量为“向左压缩”。
为了在检测变形字时方便查找每个变形字的变形描述信息,本实施例中还包括建立映射表的过程,该映射表中记录了变形字与变形描述信息的对应关系,其中每个变形字可以通过其对应的内码和字体唯一标识,即给定了一个变形字的内码和字体,就可以通过该映射表查出该变形字对应的变形描述信息。映射表中所有变形字(内码+字体)的集合称为变形字字表。具体应用中,映射表的实体以磁盘文件或数据库的形式存在,称为数据字典,该数据字典可以安装在交换***中,也可以安装在与交换***连接的特定打印输出设备上,以供水印信息嵌入和检测时使用。
通过上述过程制作好变形字以及标引出每个变形字的变形描述信息后,在嵌入水印信息时,从用于保存变形字的专用字库中选取要使用的变形字替换文本或文档中的标准字符,同时建立所使用的变形字对应的编码与要嵌入的水印信息的对应关系,例如,编码为“1”的变形字对应的水印信息为“上海”、编码为“2”的变形字对应的水印信息为“北京”。
在对文本或文档进行检测时,首先根据映射表中的变形字字表,确定待检测图像中的待检测字符;然后获取确定出的待检测字符的***区域(一般情况下,可以取字符的***矩形区域作为该字符的***区域)对应的图像数据,并根据获取的图像数据以及标引时记录的待检测字符的变形描述信息,统计待检测字符对应的特征值;当统计得到的待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,根据两个特征值的相似度确定待检测字符对应的水印信息。下面结合图4对该过程进行详细说明:
步骤100、对待检测图像进行OCR识别,获取图像中每个字符对应的内码、字体以及***矩形。
该步骤中,待检测图像可以是扫描的复印件,进一步地,可以有一定的污损。
字符的***矩形表示该字符在图像中的位置及大小,可以通过坐标系表示,例如,在以待检测图像的左上角为坐标原点,坐标轴以比特为单位的坐标系中,可以通过字符的***矩形的四个顶点的坐标值表示该字符的***矩形的位置及大小。
步骤200、根据步骤100中获取到的字符的内码和字体查询映射表中的变形字字表,确定待检测图像中待检测字符。
该步骤中,可以通过对比待检测图像中的字符对应的(内码+字体),以及变形字字表中变形字对应的(内码+字体),确定待检测图像中的待检测字符。例如,待检测图像中包含5个字符,分别为“A、B、C、I、J”,变形字字表中包含8个字符,分别为“A、B、C、D、E、F、G、H”,则确定出的待检测图像中的待检测字符即为“A、B、C”。
步骤300、根据步骤200确定出的待检测字符查询映射表,确定出每个待检测字符对应的变形描述信息。
该步骤中,根据待检测字符查询映射表,即根据待检测字符对应的(内码+字体),从映射表中查询相应的变形描述信息。其中,查询到的变形描述信息包括:该变形字对应的嵌入点及对应的数目,每个嵌入点中的变形区域以及每个变形区域对应的区域描述信息。
为方便描述,以下叙述以待检测字符A为例进行描述,并且假设待检测字符A中只有一个嵌入点i。
步骤400、获取待检测字符A的***矩形区域对应的图像数据,并根据获取到的图像数据以及该待检测字符A的变形描述信息,统计待检测字符A对应的嵌入点i的特征值ei。
该步骤中,根据获取到的图像数据以及该待检测字符A的变形描述信息,统计待检测字符A对应的嵌入点i的特征值ei,具体为:
根据嵌入点i对应的变形区域的区域描述信息,确定变形区域对应的区域特征值的提取方法,然后根据确定出的提取方法从图像数据中提取该变形区域对应的区域特征值。例如,对笔画进行水平/垂直方向伸缩的变形,例如图3中的变形字“生”,可以采用投影法或直接扫描的方法,从对应的图像数据中提取变形区域1和变形区域2分别对应的区域特征值,对笔画进行旋转的变形,例如图2中的变形字“我”,可以采用提取骨架并做直线拟合的方法,从对应的图像数据中提取变形区域对应的区域特征值。
当嵌入点i对应的变形区域为一个时,将该区域特征值确定为该嵌入点i的特征值;当嵌入点i对应的变形区域为多个时,根据该多个变形区域分别对应的区域特征值以及设定的特征值函数,统计嵌入点i对应的特征值。例如,嵌入点i对应2个变形区域,这两个变形区域对应的区域特征值分别为v1和v2(该区域特征值可以是一个坐标值,也可以是一个向量),设定的特征值函数f(v1,v2)应能反应v1与v2的物理意义,当v1与v2表示坐标值时,可选用ei=f(v1,v2)=|v1±v2|或者
等。
上述过程是以待检测字符A只包括一个嵌入点进行说明的,如果待检测字符A包括多个嵌入点,则重复上面的过程,计算待检测字符A包括的多个嵌入点分别对应的特征值,也就是说,当待检测字符包括多个嵌入点时,该待检测字符对应的特征值也为多个。
步骤500、统计待检测字符A对应的标准字符a相应的嵌入点i的特征值es。
该步骤中,首先从***(例如Windows)的标准字库中提取与待检测字符A的(内码+字体)对应的标准字符a的标准图像数据,然后,根据提取出的标准图像数据以及嵌入点i对应的变形区域以及每个变形区域的区域描述信息,统计标准字符a中相应的嵌入点i对应的特征值es。其中,统计特征值es的具体过程与上述步骤400中统计特征值ei所述的基本原理一致,此处不再详细描述。
上述过程是以待检测字符A只包括一个嵌入点进行说明的,如果待检测字符A包括多个嵌入点,例如包括嵌入点i以及嵌入点m,则需要重复上面的过程,计算标准字符a中相应的嵌入点i以及相应的嵌入点m分别对应的特征值。也就是说,待检测字符A对应的特征值数目与标准字符a对应的特征值数目一致,且一一对应。
进一步地,上述步骤400和步骤500的执行顺序可调换。
步骤600、判断待检测字符A中的嵌入点i对应的特征值ei和标准字符a中相应嵌入点i对应的特征值es是否一致,若一致,则执行步骤700;否则执行步骤800。
该步骤600中,判断特征值ei和特征值es是否一致,具体可以通过计算特征值ei和特征值es的相似度来判断,当计算得到的相似度在设定的阈值区间时,则确定特征值ei和特征值es一致,否则确定不一致,该阈值区间的选取具体视***的精度等因素而定。其中,特征值ei和特征值es的相似度可以通过设定的相似度函数计算得到。例如,取相似度函数为特征值ei和特征值es间的欧氏距离,则计算公式为:
进一步地,上述步骤600中,当待检测字符A中有多个嵌入点时,则需要将待检测字符A对应的多个嵌入点的特征值分别与标准字符a中相应的嵌入点的特征值进行比较,并且当得到的多个判断结果中至少有一个判断结果为不一致时,则确定待检测字符A的特征值和标准字符a的特征值不一致。
步骤700、确定待检测字符A没有发生变形。
步骤800、确定待检测字符A为变形字,根据特征值ei和特征值es之间的相似度,确定待检测字符A对应的水印信息。
该步骤800中,利用步骤600计算出的相似度结果确定待检测字符A对应的水印信息。设步骤600计算出的相似度为e,则判断e在预设的分段函数中对应的阈值区间,并确定该阈值区间在分段函数中对应的信息码值。具体地,可以根据设定的一组阈值T={t1,t2,t3......tm}和分段函数h(e,T)确定出该嵌入点的信息码值c,其中,阈值个数m可以是任意个,取决于对视觉效果、稳定性和嵌入容量的平衡,m越小,视觉效果越好,稳定性和嵌入容量越差;同理阈值的具体取值也由这3个指标平衡决定,一般来说,阈值的间隔越大稳定性越高,但相应的改动大,视觉效果变差。例如,取M=3,则有3个阈值:T={t1,t2,t3},c=h(e,T)。分段函数为:
当相似度e位于t1与t2之间时,该嵌入点对应的信息码值c=h(e,T)=e2。
根据上述过程确定出信息码值后,根据嵌入水印信息时保存的信息码值与水印信息的对应关系,确定该信息码值对应的水印信息。
上述流程中,若步骤200确定出的待检测字符为多个,则针对每个待检测字符分别执行步骤400~步骤800。并且,步骤400中,待检测字符的***矩形为归一化处理后的***矩形,具体归一化过程可以为:将多个待检测字符的***矩形的大小统一到一个设定大小,该设定的大小可以根据所有待检测字符的***矩形的大小确定,例如取所有待检测字符的***矩形的最大值;并且,将待检测字符的***矩形通过统一的归一化坐标表示,即以每个字符的***矩形的左上角为坐标原点,坐标轴可以以比特为单位。通过该归一化过程可以消除因打印、扫描等造成的图像大小不一致等问题。
下面,结合图3对本发明实施例中的变形字的检测过程以及变形字中水印信息的确定过程作进一步说明:
如图3所示的变形字“生”,嵌入点为“生”字的中间一横,提取该嵌入点对应的变形区域1的笔画端点的坐标值vi1(xi1,yi1)作为变形区域1的区域特征值,提取该嵌入点对应的变形区域2的笔画端点的坐标值vi2(xi2,yi2)作为变形区域2的区域特征值。预设的特征值函数
则此嵌入点对应的特征值
从***的字库中提取标准字符“生”对应的标准图像数据,根据标准图像数据提取相应的嵌入点(“生”的中间一横)左边端点的坐标值vs1(xs1,ys1)作为该变形区域的区域特征值,提取相应的嵌入点(“生”的中间一横)左边端点的坐标值vs2(xs2,ys2)作为该变形区域的区域特征值。取与统计变形字“生”中的嵌入点对应的特征值时相同的特征值函数
则该标准字符“生”中相应的嵌入点对应的特征值
通过上述步骤中获得的ei值与es值后,计算两个特征值的相似度e,例如,相似度函数为:
分段函数为:
则假设计算出的e=18,则根据上述分段函数可得到信息码值c=h(e,T)=3。
下面,结合图2对本发明实施例中的变形字的检测过程以及变形字中水印信息的确定过程作进一步说明:
如图2所示的变形字“我”,嵌入点为“我”字右下角的勾,提取该嵌入点的斜率ei=pi弧度,作为该嵌入点的特征值。具体地,可以用扫描线扫描该区域,求扫描线与黑点区域的交集,变化不同的倾角扫描,可获得最合理的倾角;也可对该区域的黑点提取骨架,用骨架点做最小二乘拟合,可获得拟合直线,该直线的倾角即为勾的倾角;
从***的字库中提取标准字符“我”对应的标准图像数据,根据标准图像数据提取相应的嵌入点(“我”的右下角的勾),提取相应的嵌入点的特征值为es=qs;
通过上述步骤中获得的ei值与es值后,计算两个特征值的相似度e,例如,相似度函数为:
g(ei,es)=|ei-es|;
分段函数为:
则假设计算出的e=0.13,则根据上述分段函数可得到信息码值c=h(e,T)=1。
本发明实施例还提供了一种变形字的检测装置,如图5所示,一个实施例中,该检测装置包括:待检测字符确定单元501、变形描述信息获取单元502、特征值统计单元503以及变形字确定单元504。其中,
待检测字符确定单元501,用于根据预先指定的变形字集合,确定待检测图像中的待检测字符;
变形描述信息获取单元502,用于获取待检测字符对应的变形描述信息;
特征值统计单元503,用于根据变形描述信息获取单元502获取的变形描述信息以及待检测字符的***矩形区域对应的图像数据,统计待检测字符的特征值;
变形字确定单元504,用于当特征值统计单元503统计出的待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,确定待检测字符为变形字。
一个实施例中,上述待检测字符确定单元501进一步用于,获取待检测图像中的字符分别对应的内码以及字体,当获取到的设定字符对应的内码以及字体与变形字集合中设定变形字对应的内码以及字体一致时,确定该设定字符为待检测字符。
一个实施例中,变形描述信息获取单元502获取到的变形描述信息包括:待检测字符对应的嵌入点的数目;上述特征值统计单元503进一步用于,当待检测字符对应的嵌入点为多个时,统计出该多个嵌入点分别对应的特征值作为该待检测字符的特征值。
一个实施例中,变形描述信息获取单元502获取到的变形描述信息还包括:变形字中每个嵌入点对应的变形区域以及每个变形区域的区域描述信息;上述特征值统计单元503进一步用于,根据变形区域的区域描述信息,确定该变形区域对应的区域特征值的提取方法,并根据确定出的提取方法从变形描述信息获取单元502获取到的图像数据中提取该变形区域对应的区域特征值;当该嵌入点对应的变形区域为一个时,将该区域特征值确定为该嵌入点的特征值;当该嵌入点对应的变形区域为多个时,根据该多个变形区域分别对应的区域特征值以及设定的特征值函数,统计该嵌入点对应的特征值。
一个实施例中,上述变形字确定单元504进一步用于,当待检测字符对应的嵌入点为多个、并且待检测字符对应的多个嵌入点分别对应的特征值和与该待检测字符对应的标准字符中相应嵌入点对应的特征值至少有一个不一致时,确定该待检测字符为变形字。
一个实施例中,上述变形描述信息获取单元502还用于,统计待检测字符对应的标准字符的特征值。
上述变形字的检测装置,如图6所示,还可以进一步包括归一化处理单元505,该单元用于当待检测字符为多个时,对该多个待检测字符的***矩形进行归一化处理;相应地,上述特征值统计单元503进一步用于,根据变形描述信息获取单元502获取到的变形描述信息以及待检测字符归一化处理后的***矩形区域对应的图像数据,统计待检测字符的特征值。
本发明实施例还提供了一种变形字中水印信息的确定装置,如图7所示,一个实施例中,该装置包括:待检测字符确定单元701、变形描述信息获取单元702、特征值统计单元703以及信息确定单元704。其中,
待检测字符确定单元701,用于根据预先指定的变形字集合,确定待检测图像中的待检测字符;
变形描述信息获取单元702,用于获取待检测字符确定单元701确定出的待检测字符对应的变形描述信息;
特征值统计单元703,用于根据变形描述信息获取单元702获取到的变形描述信息以及待检测字符的***矩形区域对应的图像数据,统计待检测字符的特征值;
信息确定单元704,用于当所述待检测字符的特征值和与该待检测字符对应的标准字符的特征值不一致时,根据该待检测字符的特征值和与该待检测字符对应的标准字符的特征值之间的相似度,确定该待检测字符对应的水印信息。
一个实施例中,变形描述信息获取单元702获取到的变形描述信息包括:待检测字符对应的嵌入点的数目;相应地,上述信息确定单元704进一步用于,根据设定的相似度函数计算待检测字符对应的多个嵌入点分别对应的特征值和对应的标准字符中相应嵌入点对应的特征值之间的相似度。
一个实施例中,上述信息确定单元704进一步用于,判断两个特征值的相似度在预设的分段函数中对应的阈值区间,并确定该阈值区间在所述分段函数中对应的信息码值,并根据预设的信息码值与水印信息的对应关系,确定该信息码值对应的水印信息。
本发明实施例通过上述技术方案,在检测变形字的过程中,首先根据预先指定的变形字集合,确定出待检测图像中的待检测字符,然后统计出待检测字符对应的特征值,并将统计出的待检测字符的特征值和与待检测字符对应的标准字符的特征值进行比较,当比较结果为不一致时,确定待检测字符为变形字。与现有技术相比,检测过程无需借助于人工或OCR技术完成,对变形字的检测结果准确度高,自动化程度高。并且,对变形字的变形程度要求低,从而提高了水印信息的隐蔽性。
进一步地,本发明实施例中,当确定出变形字后,根据该变形字的特征值和相应的标准字符的特征值之间的相似度,确定该变形字对应的水印信息,从而可以根据变形字的变形程度精确地确定出变形字对应的水印信息,提高了变形字中可嵌入的水印信息的信息量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。