CN108763879A - 一种水印字库的自动生成方法和装置 - Google Patents
一种水印字库的自动生成方法和装置 Download PDFInfo
- Publication number
- CN108763879A CN108763879A CN201810541999.9A CN201810541999A CN108763879A CN 108763879 A CN108763879 A CN 108763879A CN 201810541999 A CN201810541999 A CN 201810541999A CN 108763879 A CN108763879 A CN 108763879A
- Authority
- CN
- China
- Prior art keywords
- character
- point
- stroke
- curve
- modification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000004048 modification Effects 0.000 claims abstract description 81
- 238000012986 modification Methods 0.000 claims abstract description 81
- 238000013515 script Methods 0.000 claims description 10
- 235000015170 shellfish Nutrition 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种水印字库的自动生成方法和装置。该方法包括:步骤一,根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;步骤二,读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;步骤三,根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;步骤四,将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。本发明能够有效提高水印字库生成的效率,且使人眼几乎不能察觉文字结构的修改,能够满足水印信息的隐蔽性需求。
Description
技术领域
本发明属于文档保护技术领域,涉及一种文本数字水印技术,具体涉及文本数字水印技术中水印字库生成的方法和装置。
背景技术
在信息传播的媒介中,文字始终处于重要地位,相应地文本文件本身的安全性和完整性也面临着巨大挑战。比如利用现有的工具很容易对诸如各种证件、书籍、合同、涉密文档等进行复制和篡改,因此对这些文档资源的安全保护和溯源追踪显得更加迫切。而利用数字水印技术可以在文本文档数据中嵌入具有一定意义的隐秘信息,通过水印信息的检测来解决这个问题。
目前重要的纸质文本文件还可以通过智能手机和数码相机等设备进行快速复制,这就要求文本水印算法不仅能够抵抗传统的打印扫描、复印等操作的攻击,同时还可以从纸质文件拍照后的图像数据中提取水印信息。因此需要通过改变字符结构特征方式来提高水印算法的鲁棒性。在中文字符中,存在着大量具有特殊结构的特征点。通过修改特征点处的笔画连接数目、笔画之间角度以及特征点的有无等属性后生成新的字库,称之为水印字库,这样同一个汉字字符具有了不同的字形结构。
但是,现有的水印字库制作面临着汉字个数多、自动化制作程度低等问题。目前的汉字字库制作过程仍然需要大量的人工操作,面对大量的汉字以及复杂的汉字结构,字库的制作复杂度及成本都很高。如何提高对字库进行操作时的自动化程度,成为字库修改的主要问题。
发明内容
本发明提供一种水印字库自动生成的方法和装置,用以解决现有技术中水印字库制作的周期长、工作量大、易出错及自动化程度低等问题。
本发明的构思在于,首先,选择一个特定的字库文件,根据字符结构特征的修改准则,手工为每一个字符选取字符结构特征修改位置,将字符轮廓曲线的外接矩形进行归一化处理,并计算该修改位置与归一化的外接矩形左上角顶点的修改位置;同时设定字符结构特征的修改方式,并将修改位置与修改方式一起保存在知识库中;读取待修改水印字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;根据知识库中记录的修改方式,分别对字符轮廓线上候选集合中点进行修改,并生成新的字符轮廓曲线。从而得到了一种水印字库的自动生成方法和装置。
本发明中一种水印字库的自动生成方法,包括如下步骤:
步骤一,根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;
步骤二,读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;
步骤三,根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;
步骤四,将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
较佳地,所述的字符结构特征的修改准则,包括:
1)修改字符结构中丁字形的字符骨架曲线,即字符结构中,不连续的两个笔画在组合成字形的过程中,其中一个笔画与另一个笔画在非端处连接所形成的结构;
2)一气呵成的笔画不可修改;
3)在横向笔画和竖向笔画两者中,优先选择横向笔画进行修改;
4)修改的幅度不超过笔画宽度;
5)同一个字符在不同字体中的修改方式相同。
较佳地,所述的字符特征结构修改方式,包括笔画之间的连断、笔画的位置和笔画的长度。
较佳地,所述的笔画之间的连断,包括:
1)断开笔画,即将两个原本相连的笔画在连接处断开为两个互不相交的笔画;
2)粘连笔画,即将两个原本不相连的笔画,经过延长其中一个笔画使得两个笔画相连后形成新的丁字形骨架结构。
较佳地,所述的确定候选集合,方法为:
1)根据字符编码从待修改的字库文件中读取字符轮廓曲线上的点集序列P={p1,p2…pn};
2)根据P序列,生成每个点在封闭轮廓线中的前后邻接点表T,其中T中所记载的是该字符轮廓曲线上点的控制点;
3)从知识库中读取对应字符中的待修改的修改位置O,依据欧式距离计算P中所有的点与O的距离;
4)搜寻距离O最近的两个端点pi和pj,0<i<j<n,并将该两个端点构成的点对记为候选集合。
较佳地,所述的对候选集合中的点对进行修改,包括笔画断开和笔画粘连操作;
较佳地,所述的笔画断开操作,方法为:
1)分别在pi和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)分别计算向量和之间的夹角α,向量和之间的夹角β;
3)如果α≥β,则沿着和的方向断开笔画,否则沿着和的方向断开笔画。
较佳地,所述的笔画粘连操作,方法为:
1)分别在pi和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)从字符轮廓曲线上的点集序列P中读取点pi-1,在由(pi-1,Previ,pi)构成的二次贝塞尔曲线段上,计算求得至点pi的距离为d2的新点p′i;
3)从字符轮廓曲线上的点集序列P中读取点pj+1,在由(pj,Nextj,pj+1)构成的二次贝塞尔曲线段上,计算求得至点pj的距离为d2的新点p′j;
4)分别计算点pi和pj的中点p0,p′i和p′j的中点p1,计算向量
5)以pi为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点p″i;
6)以pj为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点p″j;
7)将计算的点p″i和p″j加入到原始的字符轮廓曲线上的点集序列中得到P={p1,p2,…,pi,p″i,p″j,pj…pn}。
基于同一发明构思,本发明还提供了一种水印字库的自动生成装置,包括:
知识库生成模块,负责根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;
候选集合选择模块,负责读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;
字符轮廓曲线修改模块,负责根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;
水印字库生成模块,负责将字符轮廓曲线修改模块中新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
本发明的有益效果如下:
由于本发明中,选取特定的模板字库文件,根据字符结构特征的修改准则,手工为字库中的每个字符指定字符结构的修改位置和修改方式,并作为经验数据保存在知识库中。对于其他字库文件,通过模板字库文件中保存的经验数据信息,可以很方便地定位每个字符轮廓曲线上待修改的点对集合,再结合字符结构的修改方式,快速通过修改字符轮廓曲线上的点对,生成新的水印字库文件。相对于纯手工操作,该方法能够扩展到多个字库文件,大大提高水印字库生成的效率,且修改后的字符轮廓保留了原来的书法风格,使人眼几乎不能察觉文字结构的修改,能够满足水印信息的隐蔽性需求。
附图说明
图1为实施例1中所述的一种水印字库的自动生成方法的实施流程示意图;
图2为矢量字库的字符轮廓曲线效果示意图,(a)为仿宋体“廓”字的轮廓线,(b)为仿宋体“廓”字被填充后效果图;
图3为仿宋汉字字符“字”和“买”中标记的字符结构的修改位置和修改方式示意图;
图4为楷体汉字字符“字”和“买”的字体轮廓曲线上搜寻的待修改的点对候选集合及修改示意图;
图5为图3中的仿宋字体自动修改效果示意图;
图6为图4中的楷体字体自动修改效果示意图;
图7为实施例中所述的一种水印字库的自动生成装置结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
实施例1:
图1为实施例1中所述的一种水印字库的自动生成方法的实施流程示意图。
S101,根据字符结构特征的修改准则,为字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中。
本方案中,为了提高水印字库的制作效率,选取特定的模板字库文件,比如公文文档应用最多的仿宋字体,并将相应的辅助修改信息作为经验数据保存在知识库中。对于待修改的字库文件,通过实时读取这些辅助信息来自动完成新的水印字库的生成。这里,选择了主流的矢量轮廓字体字库进行修改,包括常见的Type1、TrueType和OpenType字体。轮廓字体是基于贝塞尔曲线的应用,通过二次或三次贝塞尔曲线与直线的组合来描述和逼近字体的轮廓,在需要显示文字时,通过特定的填充技术来填充轮廓,即可得到具体的字符显示效果,如图2所示。
本发明中,以TrueType字体为例来说明水印字库的自动生成方法。TrueType字库中的每个字符的轮廓曲线都是由一条或多条二次贝塞尔样条曲线来描述的。TrueType中的数据格式有数据位和标志位,通常包含3部分:封闭曲线起始点、线上点和控制点。起始点的标志通常为0x81或者0x80,线上点的标志位为1,控制点的标志位为0。
为了保证水印字库中字符结构特征修改的美观性和水印信息的隐蔽性,根据字符结构的不同,需要人工为每个字符结构特征的修改指定相应准则,主要有:
1)修改字符结构中丁字形的字符骨架曲线,即字符结构中,不连续的两个笔画在组合成字形的过程中,其中一个笔画与另一个笔画在非端处连接所形成的结构。
2)一气呵成的笔画不可修改。例如“一”字。根据笔画的定义,笔画是“不间断”地一次连续写成的一个线条。如果将这种笔画强行断开,在违反笔画基本定义的同时也违反了人们的书写习惯,这非常容易引起人眼的关注,从而影响水印信息的隐蔽性。
3)在横向笔画和竖向笔画两者中,优先选择横向笔画进行修改。通过重复实验表明,相同的连断条件下,竖向笔画更容易受到噪音干扰。选择横向笔画进行操作,能够更好的保证水印鲁棒性。
4)修改的幅度不超过笔画宽度。
5)同一个字符在不同字体中的修改方式相同。在选取特征点的丁字形骨架时,应尽可能的远离其它非特征位置的丁字形骨架。既便于编码设计,也便于水印检测。即使面对混编字体的文档,也可以有统一的检测方式。
所述的字符特征结构修改方式,包括笔画之间的连断、笔画的位置和笔画的长度。其中笔画之间的连断修改,包括:
1)断开笔画,即将两个原本相连的笔画在连接处断开为两个互不相交的笔画;
2)粘连笔画,即将两个原本不相连的笔画,经过延长其中一个笔画使得两个笔画相连后形成新的丁字形骨架结构。
在汉字字符结构特征中存在大量的丁字形的结构,因此,字符笔画的连断关系修改是最重要的水印字库生成方式。如前所述,需要为字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中。比如图3为仿宋汉字字符“字”和“买”中标记的字符结构的修改位置示意图,其中黑色“圆点”所标识的位置即为修改位置,(a)图中的“字”的修改方式为断开笔画,(b)图中的“买”字的修改方式为粘连笔画。
S102,读取待修改水印字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合。
为了进行字符结构特征的修改,需要首先定位出字符轮廓曲线上需要修改的点对集合,具体方法为:
1)根据字符编码从待修改的字库文件中读取字符轮廓曲线上的点集序列P={p1,p2…pn};
当然一个字符可能会有多个不重合的封闭区域,相应的点集序列P会包含多个起始点标注0x81或者0x80。但是为了说明笔画修改方法的方便,这里假设记录点集序列P中只包含一个起始点,即只有一个封闭区域。
2)根据P序列,生成每个点在封闭轮廓线中的前后邻接点表T,其中T中所记载的是该字符轮廓曲线上点的控制点;
3)从知识库中读取对应字符中的待修改的修改位置O,依据欧式距离计算P中所有的点与O的距离;
4)搜寻距离O最近的两个端点pi和pj,0<i<j<n,并将该两个端点构成的点对记为候选集合。
如图4所示,其中大的黑色圆点所代表的是修改位置O,O旁边的两个黑色圆点所代表的点分别为pi和pj。
S103,根据知识库中记录的修改方式,分别对字符轮廓线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线。
根据模板字库文件中每个字符标记的修改位置和修改方式,读取待修改字库中的相应字符,对候选集合中的点对进行修改,包括笔画断开和笔画粘连操作。下面分别具体介绍操作过程。
1.笔画断开操作,具体方法为:
1)分别在pi和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)分别计算向量和之间的夹角α,向量和之间的夹角β;
3)如果α≥β,则沿着和的方向断开笔画,否则沿着和的方向断开笔画。
如图4中(a)图所示,满足α≥β的条件,则沿着和的方向断开笔画,原始一个封闭区域会变成两个不想交的子区域,相应地,原始的点集序列P会分为两个不相交的子集,具体过程如下:
1)笔画在点对pi和pj断开后,左边的点集改变为P1={p1,p2…pi-1pipjpj+1…pn},相当于在将原来的字符轮廓曲线在点pi和pj处先断开,然后再在pi和pj之间连接了一条直线段,则P1变为了一条独立的封闭子曲线;
2)从字符轮廓曲线上的点集序列P中读取点pi+1,在由(pi,Nexti,pi+1)构成的二次贝塞尔曲线段上,计算求得至点pi的距离为d1的的新点p′i;
3)从字符轮廓曲线上的点集序列P中读取点pj-1,在由(pj,Prevj,pj-1)构成的二次贝塞尔曲线段上,计算求得至点pj的距离为d1的的新点p′j;
4)得到右边的点集P2={p′i,pi+1,pi+2…pj-1,p′j},p′i被标注为新的起始点,属性设置为0x81或者0x80,相当于在新点p′i和p′j之间连接了一条直线段,从而得到另外一个独立的封闭子区域。
2.笔画粘连操作,具体方法为:
1)分别在pi和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)从字符轮廓曲线上的点集序列P中读取点pi-1,在由(pi-1,Previ,pi)构成的二次贝塞尔曲线段上,计算求得至点pi的距离为d2的新点p′i;
3)从字符轮廓曲线上的点集序列P中读取点pj+1,在由(pj,Nextj,pj+1)构成的二次贝塞尔曲线段上,计算求得至点pj的距离为d2的的新点pj';
4)分别计算点pi和pj的中点p0,p′i和p′j的中点p1,计算向量
5)以pi为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点p″i;
6)以pj为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点p″j;
7)将计算的点p″i和p″j加入到原始的字符轮廓曲线上的点集序列中得到P={p1,p2,…,pi,p″i,p″j,pj…pn}。
如图4中(b)图所示,楷体的汉字字符“买”的修改方式为笔画粘连操作。
S104,将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
如图5和图6所示,水印字库中保存的相应字符结构的笔画连断关系发生了改变,其中图5为图3中的仿宋字体自动修改效果示意图,图6为图4中的楷体字体自动修改效果示意图。
如图7所示,基于同一发明构思,本实施例还提供了一种水印字库的自动生成装置,包括:
知识库生成模块,负责根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;
候选集合选择模块,负责读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;
字符轮廓曲线修改模块,负责根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;
水印字库生成模块,负责将字符轮廓曲线修改模块中新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
实施例2:
本实施例主要说明通过移动笔画的位置来完成水印字库的自动生成,具体方法如下:
1.根据字符结构特征的修改准则,为字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中。
本实施例中的字符修改位置记录的不再是一个固定点的位置信息,而是一个字符笔画轮廓曲线上两个端点处的关键点位置。所谓关键点是指在该点处,字符笔画的轮廓曲线上前后相邻点与该点构成的夹角的大小发生突变。修改方式标记为笔画移动,同时附加笔画的移动方向和移动幅度,一般来讲移动方向为水平或者垂直,理论上可以是任意象限方向。将上述信息一并保存在知识库中。
2.读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合。
依据知识库中记录的修改位置,笔画轮廓曲线上的关键点之间所有点都被视为候选集合。
3.根据知识库中记录的修改方式,分别对字符轮廓线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线。
将步骤2中确定的候选集合中的点,按照知识库中记录的字符笔画的移动方向和移动幅度进行偏移,从而得到新的字符轮廓曲线。
4.将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
实施例3:
本实施例主要说明通过改变笔画的长度来完成水印字库的自动生成,一般来讲,该方法主要是针对横平竖直的笔画的长度进行修改,具体方法如下:
1.根据字符结构特征的修改准则,为字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中。
本实施例中的修改位置是待修改字符笔画轮廓曲线上的端点处的关键点位置。如果笔画轮廓曲线是独立的封闭贝塞尔曲线,则应该记录两个端点处的关键点。因为笔画长度发生变化时,需要两个端点同时相向或者反向对称移动。若笔画一端与其他笔画形成丁字形结构,则只需要记录另外一端的关键点位置信息即可,移动时只是根据笔画变长或者变短来改变关键点的位置。另外,修改方式标记为笔画长度变化,以及进一步说明是笔画变长还是变短。
2.读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合。
笔画长度变化跟笔画移动相比,笔画轮廓曲线上需要变化的点相对较少,不需要将笔画轮廓曲线上的所有的点进行位置偏移。因此,依据知识库中记录的修改位置,笔画轮廓曲线上的位于关键点附近,并且构成笔画端点的所有笔画轮廓曲线上点被视为候选集合。
3.根据知识库中记录的修改方式,分别对字符轮廓线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线。
4.将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种水印字库的自动生成方法,其特征在于,包括以下步骤:
步骤一,根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;
步骤二,读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;
步骤三,根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;
步骤四,将新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
2.根据权利要求1所述的方法,其特征在于,所述字符结构特征的修改准则,包括:
1)修改字符结构中丁字形的字符骨架曲线;
2)一气呵成的笔画不可修改;
3)在横向笔画和竖向笔画两者中,优先选择横向笔画进行修改;
4)修改的幅度不超过笔画宽度;
5)同一个字符在不同字体中的修改方式相同。
3.根据权利要求1所述的方法,其特征在于,所述修改方式包括:笔画之间的连断、笔画的位置和笔画的长度。
4.根据权利要求3所述的方法,其特征在于,所述笔画之间的连断包括:
1)断开笔画,即将两个原本相连的笔画在连接处断开为两个互不相交的笔画;
2)粘连笔画,即将两个原本不相连的笔画,经过延长其中一个笔画使得两个笔画相连后形成新的丁字形骨架结构。
5.根据权利要求3所述的方法,其特征在于,所述修改方式为笔画之间的连断时,采用以下步骤确定所述候选集合:
1)根据字符编码从待修改的字库文件中读取字符轮廓曲线上的点集序列P={p1,p2…pn};
2)根据P序列,生成每个点在封闭轮廓线中的前后邻接点表T,其中T中所记载的是字符轮廓曲线上点的控制点;
3)从知识库中读取对应字符中的待修改的修改位置O,依据欧式距离计算P中所有的点与O的距离;
4)搜寻距离O最近的两个端点pi和pj,0<i<j<n,并将该两个端点构成的点对记为候选集合。
6.根据权利要求5所述的方法,其特征在于,所述对字符轮廓曲线上候选集合中的点对进行自动修改,包括笔画断开操作和笔画粘连操作。
7.根据权利要求6所述的方法,其特征在于,所述笔画断开操作包括以下步骤:
1)分别在pi和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)分别计算向量和之间的夹角α,向量和之间的夹角β;
3)如果α≥β,则沿着和的方向断开笔画,否则沿着和的方向断开笔画。
8.根据权利要求6所述的方法,其特征在于,所述笔画粘连操作包括以下步骤:
1)分别在pj和pj的邻接点表Ti和Tj中找到各自的邻接控制点Previ和Nexti,Prevj和Nextj;
2)从字符轮廓曲线上的点集序列P中读取点pi-1,在由(pi-1,Previ,pi)构成的二次贝塞尔曲线段上,计算求得至点pi的距离为d2的新点pi′;
3)从字符轮廓曲线上的点集序列P中读取点pj+1,在由(pj,Nextj,pj+1)构成的二次贝塞尔曲线段上,计算求得至点pj的距离为d2的新点pj′;
4)分别计算点pi和pj的中点p0,pi′和pj′的中点p1,计算向量
5)以pi为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点pi″;
6)以pj为起点,沿着方向做射线,计算与字符轮廓曲线的第一个交点pj″;
7)将计算的点pi″和pj″加入到原始的字符轮廓曲线上的点集序列中得到P={p1,p2,…,pi,pi″,pj″,pj…pn}。
9.根据权利要求3所述的方法,其特征在于:
所述修改方式为笔画的位置时,步骤一所述修改位置是一个字符笔画轮廓曲线上两个端点处的关键点位置,并将修改方式标记为笔画移动,同时附加笔画的移动方向和移动幅度;步骤二依据知识库中记录的修改位置,笔画轮廓曲线上的关键点之间所有点都被视为候选集合;
所述修改方式为笔画的长度时,步骤一所述修改位置是待修改字符笔画轮廓曲线上的端点处的关键点位置;如果笔画轮廓曲线是独立的封闭贝塞尔曲线,则记录两个端点处的关键点位置;如果笔画一端与其他笔画形成丁字形结构,则只需记录另外一端的关键点位置;将修改方式标记为笔画长度变化;步骤二依据知识库中记录的修改位置,笔画轮廓曲线上的位于关键点附近,并且构成笔画端点的所有笔画轮廓曲线上点被视为候选集合。
10.一种水印字库的自动生成装置,其特征在于,包括:
知识库生成模块,负责根据字符结构特征的修改准则,为模板字库中的每个字符指定字符结构的修改位置和修改方式,并保存在知识库中;
候选集合选择模块,负责读取待修改字库中的每个字符,依据知识库中记录的修改位置,确定字符轮廓曲线上需要修改的点对集合作为候选集合;
字符轮廓曲线修改模块,负责根据知识库中记录的修改方式,分别对字符轮廓曲线上候选集合中的点对进行自动修改,并生成新的字符轮廓曲线;
水印字库生成模块,负责将字符轮廓曲线修改模块中新生成的字符轮廓曲线保存至新的字库文件中,得到水印字库文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810541999.9A CN108763879A (zh) | 2018-05-30 | 2018-05-30 | 一种水印字库的自动生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810541999.9A CN108763879A (zh) | 2018-05-30 | 2018-05-30 | 一种水印字库的自动生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108763879A true CN108763879A (zh) | 2018-11-06 |
Family
ID=64004375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810541999.9A Pending CN108763879A (zh) | 2018-05-30 | 2018-05-30 | 一种水印字库的自动生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763879A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927119A (zh) * | 2019-12-06 | 2021-06-08 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN112966318A (zh) * | 2021-04-12 | 2021-06-15 | 青矩技术股份有限公司 | 一种显示cad文件中字符的方法及终端设备 |
CN114547564A (zh) * | 2022-04-25 | 2022-05-27 | 北京国隐科技有限公司 | 一种文档处理方法、装置及设备 |
CN114708133A (zh) * | 2022-01-27 | 2022-07-05 | 北京国隐科技有限公司 | 一种通用的文本水印方法和装置 |
CN115455966A (zh) * | 2022-11-14 | 2022-12-09 | 合肥高维数据技术有限公司 | 安全字库构建方法及其安全码提取方法 |
CN117236283A (zh) * | 2023-11-13 | 2023-12-15 | 信智慧通科技(北京)有限公司 | 一种字库文件数据的处理方法、装置及设备 |
CN117350909A (zh) * | 2023-10-24 | 2024-01-05 | 江苏群杰物联科技有限公司 | 文字水印处理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157390A (en) * | 1996-09-20 | 2000-12-05 | Dynalab (S) Ltd. | Stroke-based font generation |
CN102968582A (zh) * | 2012-12-13 | 2013-03-13 | 北京大学 | 基于字符结构特征的文本水印嵌入和提取方法 |
US20140136966A1 (en) * | 2011-12-30 | 2014-05-15 | Beijing Founder Electronics Co., Ltd. | Method and System for Generating Instructions According to Change of Font Outline |
-
2018
- 2018-05-30 CN CN201810541999.9A patent/CN108763879A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157390A (en) * | 1996-09-20 | 2000-12-05 | Dynalab (S) Ltd. | Stroke-based font generation |
US20140136966A1 (en) * | 2011-12-30 | 2014-05-15 | Beijing Founder Electronics Co., Ltd. | Method and System for Generating Instructions According to Change of Font Outline |
CN102968582A (zh) * | 2012-12-13 | 2013-03-13 | 北京大学 | 基于字符结构特征的文本水印嵌入和提取方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927119A (zh) * | 2019-12-06 | 2021-06-08 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN112927119B (zh) * | 2019-12-06 | 2024-02-09 | 富士施乐实业发展(中国)有限公司 | TrueType字库的防盗信息嵌入方法及使用方法 |
CN112966318A (zh) * | 2021-04-12 | 2021-06-15 | 青矩技术股份有限公司 | 一种显示cad文件中字符的方法及终端设备 |
CN114708133A (zh) * | 2022-01-27 | 2022-07-05 | 北京国隐科技有限公司 | 一种通用的文本水印方法和装置 |
CN114708133B (zh) * | 2022-01-27 | 2022-11-15 | 北京国隐科技有限公司 | 一种通用的文本水印方法和装置 |
CN114547564A (zh) * | 2022-04-25 | 2022-05-27 | 北京国隐科技有限公司 | 一种文档处理方法、装置及设备 |
CN115455966A (zh) * | 2022-11-14 | 2022-12-09 | 合肥高维数据技术有限公司 | 安全字库构建方法及其安全码提取方法 |
CN115455966B (zh) * | 2022-11-14 | 2023-03-10 | 合肥高维数据技术有限公司 | 安全字库构建方法及其安全码提取方法 |
CN117350909A (zh) * | 2023-10-24 | 2024-01-05 | 江苏群杰物联科技有限公司 | 文字水印处理方法、装置、电子设备及存储介质 |
CN117350909B (zh) * | 2023-10-24 | 2024-05-14 | 江苏群杰物联科技有限公司 | 文字水印处理方法、装置、电子设备及存储介质 |
CN117236283A (zh) * | 2023-11-13 | 2023-12-15 | 信智慧通科技(北京)有限公司 | 一种字库文件数据的处理方法、装置及设备 |
CN117236283B (zh) * | 2023-11-13 | 2024-01-23 | 信智慧通科技(北京)有限公司 | 一种字库文件数据的处理方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763879A (zh) | 一种水印字库的自动生成方法和装置 | |
Jiang et al. | Scfont: Structure-guided chinese font generation via deep stacked networks | |
CN102790841B (zh) | 书籍的书脊区域中数字图像的检测和校正方法 | |
CA2341108A1 (en) | Method and apparatus for identification of documents, and computer product | |
CN108520254A (zh) | 一种基于格式化图像的文本检测方法、装置以及相关设备 | |
CN104063723B (zh) | 脱机手写汉字的笔画还原方法及装置 | |
CN101183283A (zh) | 一种直接写入手写体信息的方法 | |
JPH04157578A (ja) | 輪郭抽出方法及びその装置 | |
CN108090400A (zh) | 一种图像文本识别的方法和装置 | |
CN107644391B (zh) | 一种用于打印文档溯源的数字水印处理方法及装置 | |
CN106100849A (zh) | 一种安全有效的对电子文件及其纸质文件签章方案 | |
CN107248134A (zh) | 一种文本文档中的信息隐藏方法和装置 | |
CN104636733A (zh) | 一种基于图像特征的书画作品鉴定方法 | |
CN104143200A (zh) | 一种图像附加信息的边框型编码与智能识别方法 | |
Qi et al. | CASAIR: content and shape-aware image retargeting and its applications | |
CN110363848A (zh) | 一种基于数字岩心的孔隙网络模型的可视化方法及装置 | |
CN109147002B (zh) | 一种图像处理方法和装置 | |
AU2010238503B2 (en) | Two dimensional information symbol | |
CN109087234A (zh) | 一种文本图像中的水印嵌入方法和装置 | |
CN114565702A (zh) | 文本图像生成方法、装置及电子设备 | |
CN101231742B (zh) | 二值文本图像中数字水印的嵌入和提取的方法及装置 | |
KR100603618B1 (ko) | 어파인 변환을 이용한 문서 영상의 기하학적 왜곡 보정장치 및 방법 | |
Liwicki et al. | Reliable online stroke recovery from offline data with the data-embedding pen | |
CN106355593A (zh) | 一种基于马尔科夫随机场的素描画生成方法 | |
Wu et al. | Web based chinese calligraphy learning with 3-d visualization method |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210305 Address after: 266555 unit 1, unit 26, Mount Lu Road, Mount Lu Road, Huangdao District, Qingdao, Shandong 602 Applicant after: Li Xiaoni Address before: 2205, block C, Zhongguancun Science and technology development building, 34 Zhongguancun South Street, Haidian District, Beijing 100081 Applicant before: SOFOSOFI TECH. Co.,Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181106 |