基于差值矢量生成部件的手写汉字合成方法和装置的制作方法

文档序号:6338229阅读:244来源:国知局
专利名称:基于差值矢量生成部件的手写汉字合成方法和装置的制作方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及基于差值矢量生成部件的手写汉字合 成方法和装置。
背景技术
在信息时代,人们已经习惯用键盘来代替手写,用“标准”字体代替了个性字体,汉 字在屏幕上失去了传承历史文明和展现个性的作用。在计算机上自动合成手写字体,产生 与手写效果一致的个性化文档,可以拉近读者与作者的关系,展示作者的个性魅力。汉字识 别和生成一直是模式识别领域的一个难题,合成的手写体字符可以为汉字识别过程中的机 器学习、模式识别提供大量的训练样本,有助于手写体汉字识别的研究。手写汉字的合成相 关技术可应用于装饰、广告、游戏、动画等领域的字体辅助设计和生成,提高设计效率并降 低成本。传统的字库的生成,需要修字工人手工辅助完成,工作量大,不适合手写字体的自 动生成。每制作一套六千多字的常用汉字字库,需要20到40万左右的投入,其高昂的成本 不适合手写字体的合成。国外已经出现的一些手写字体的生成技术,只适合英文字母的合 成,不适合手写汉字的合成。手写汉字合成的困难在于汉字的数量多、笔画级别上的合成过 于复杂,采集手写字样本成本高。

发明内容
本发明的目的在于针对现有技术的不足而提供一种能够在采集少量用户手写字 体的前提下,自动合成手写字体,采集成本低的合成手写汉字的方法和装置。本发明的目的通过以下技术措施实现基于差值矢量生成部件的手写汉字合成方 法,括以下步骤A 读取标准汉字部件库,获取标准汉字的部件组成和部件图像; B:读取部件差值矢量库,获得标准汉字部件与手写部件之间的坐标的差值矢量集,标 准汉字部件加上坐标差值矢量集,生成手写部件;C:根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组合已生成的手 写部件,合成手写汉字。其中,部件差值矢量库形成方法为Dl 在标准汉字部件库中标注汉字F的部件E第M笔笔画的关键点,第Λ笔笔画的起始点标记为关键点H0、转折点标记为关键点巧, 转折点包括笔画M的终止点,终止点标记为关键点Be , i=l、2、3、、、e-1,相邻两个关键点为一段,设Hn到K1的线段为^n巧,FinTi的中点标记为Hm ; 到nA.+n的线段为ητη +ι , UlTii l的中心点标记为 ,则第w笔笔画标准关键点集为(% , Ii01, W1,nn,ni+i,fK );在手写汉字部件库中标注汉字F的部件E的第《笔画的关键点,第《笔笔画的起始 点标记为关键点IM0、转折点标记为关键点》Ii,转折点包括第W笔笔画的终止点,终止点标Ii!%关键点%,i = ι、2、)、、、(」,扣邻I叫个关键点% +段,设/Wci Mml的线段为WltjFW1 ,IW0Fii1的中点标记为IMm ; Mi ^1Jm{i+Y)的线段为;’的中心点标记为IK31 ,则第η笔笔画的手写关键点集为(% , M01,M1 , ma , mi+l , iwe);D2 以部件E的起笔点为坐标原点,第n笔笔画的标准关键点,与手写关键点肌^的坐标值相减,形成矢量;,j e (0,01,1, il, +1···Θ),汉字F的部件E的第η笔笔画 形成笔画矢量集艮,;D3 对每一笔重复以上操作,得到书写汉字F的部件E的所有的笔画的特征向量,得到 汉字F的部件E的矢量集为[E^E2. ...,Es ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。其中,步骤B中,标准汉字部件加上坐标差值矢量集之后,采用插值法获得汉字F 的部件E的第η笔笔画的线段的中间点,进而获得第η笔笔画的所有笔画轨迹;对汉字F的 部件E每笔都采用插值法获得中间点,从而获得汉字F的整个部件E的手写轨迹,完成手写 部件的生成。其中,插值法具体为贝赛尔曲线法。其中,步骤A之前还包括在标准汉字库中查询标准汉字,判断该标准汉字是否包 含在标准汉字库中;步骤C之后还包括将合成的手写汉字存储于个性字库。根据基于差值矢量生成部件的手写汉字合成方法基于差值矢量生成部件的手写 汉字合成装置,包括标准汉字部件库、部件差值矢量库、部件生成装置、汉字合成装置;标准汉字部件库用于存储标准汉字的部件组成和部件图像,标准汉字的部件和部件之 间的特征;部件差值矢量库用于存储标准汉字的部件的坐标与对应手写汉字的部件的坐标的差值矢量集;部件生成装置用于读取部件差值矢量库,并将标准汉字部件加上坐标差值矢量集,生 成手写部件;汉字合成装置,根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组 合已生成的手写部件,合成手写汉字。
其中,部件差值矢量库形成具体步骤为Dl 在标准汉字部件库中标注汉字F的部件E的第《笔笔画的关键点,第η笔笔画的起始点标记为为关键点M0、转折点标记为关键点Wi ,转折点包括笔画Μ的终止点, 终止点标记为关键点《e , i=l、2、3、、、e-1,相邻两个关键点为一段,设1 到1 的线段为Fl^ni - TEnTli的中点标记为Ii01 ; Hi到Ilii4l)的线段为巧巧+1,TJ1Hm的中心点标记为 1,则第η笔笔画标准关键点集为(《O , H01 , W1 , % , +1 ’《 )在手写汉字部件库中标注汉字F的部件E的第Λ笔画的关键点,第《笔笔画的起始 点标记为关键点、转折点标记为关键点OTi,转折点包括第n笔笔画的终止点,终止点标记为关键点》1€,1=1、2、3、、、。相邻两个关键点为一段,设|120到,的线段为IW^Wi ,In0Ifi1的中点标记为Iri01 ; Mj ^1Jm(i+l)的线段为- MiMul的中心点标记为 mn ,则第n笔笔画的手写关键点集为(Ifi0 , M01 , Ini , Fftil , m!+1 ,mg);D2 以部件E的起笔点为坐标原点,第β笔笔画的标准关键点Λ.与手写关键点的坐标值相减,形成矢量《/ ,j € (0,01,1, il, +1···Θ),汉字F的部件E的第Λ笔笔画形 成笔画矢量集Eri ;D3 对每一笔重复以上操作,得到书写汉字所有笔画的特征向量,得到汉字F的部件E 的矢量集为[Α、Ε2、-..,Ek ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。其中,部件生成装置中标准汉字部件加上坐标差值矢量集之后,采用插值法获得 汉字F的部件E的第η笔笔画的线段的中间点,进而获得第η笔笔画的所有笔画轨迹;对汉 字F的部件E每笔都采用插值法获得中间点,从而获得汉字F的整个部件E的手写轨迹,完 成手写部件的生成。其中,插值法具体为贝赛尔曲线法。其中,还包括标准汉字库、个性字库,标准汉字库用于存储标准汉字;汉字合成装 置合成的手写汉字存储于个性字库中。本发明的有益效果为基于差值矢量生成部件的手写汉字合成方法,首先读取标 准汉字部件库,获取标准汉字的部件组成和部件图像;然后读取部件差值矢量库,获得标准 汉字部件与手写部件之间的坐标的差值矢量集,标准汉字部件加上坐标差值矢量集,生成 手写部件;最后根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组合已生成的手写部件,合成手写汉字,本发明能够在采集少量用户手写字体的前提下,自动合成 手写字,采集成本低。


图1是本发明的实施例1的原理图; 图2是本发明的实施例2的原理图。
具体实施例方式下面结合附图对本发明作进一步的说明。实施例1如图1所示本实施例提供基于差值矢量生成部件的手写汉字合成方法,首先读取标准 汉字部件库,获取标准汉字的部件组成和部件图像;然后读取部件差值矢量库,获得标准汉 字部件与手写部件之间的坐标的差值矢量集,标准汉字部件加上坐标差值矢量集,生成手 写部件;最后根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组合已生 成的手写部件,合成手写汉字,本发明能够在采集少量用户手写字体的前提下,自动合成手 写字,采集成本低。本发明可以在读取部件差值矢量库的时候动态生成部件的差值矢量集,也可以在 读取前所有汉字的基本部件差值矢量集已经固化于部件差值矢量库中。本实施例的部件差值矢量集形成方法为Dl:在标准汉字部件库中标注汉字F的部件E的第H g笔画的关键点,第《笔笔 画的起始点标记为为关键点W0、转折点标记为关键点Iii ,转折点包括笔画H的终止点,终止点标记为关键点fie,i=l、2、3、、、e-1,相邻两个关键点为一段,设1 到巧的线段为^n1 - Ti^nl的中点标记为W01 ; Hi到《0.+1|的线段为巧巧+1 , ^nul的中心点标记为% ,则第η笔笔画标准关键点集为(《O ’《01 ’《1 ’ % , nj+i, % );在手写汉字部件库中标注汉字F的部件Ε的第η笔画的关键点,第《笔笔画的起始 点标记为关键点OT0、转折点标记为关键点ITli,转折点包括第w笔笔画的终止点,终止点标记为关键点!^,^二”彡…,相邻两个关键点为一段,设!^到,的线段SmnFW1,Wi0Fn1的中点标记为Iri01 ;Irii ?1Jm(i+n的线段为,ηψη +ι的中心点标记为 ηιΛ ,则第η笔笔画的手写关键点集为(ii^ , OT01,IW1 , Mil , mi+l ,mg);D2 以部件E的起笔点为坐标原点,左下为正,第 笔笔画的标准关键点 与手写关键点IWj.的坐标值相减,形成矢量;^,j e (0,01,1, 1, +1···Θ),汉字F的部件E的第w笔笔画形成笔画矢量集£^ ;D3 对每一笔重复以上操作,得到书写汉字所有笔画的特征向量,得到汉字F的部件E 的矢量集为[Ei^E2,…、Es ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。实施例2如图2所示,本实施例在与实施例1不同之处在于,读取标准汉字部件库之前去标准汉 字库中查询标准汉字,判断该标准汉字是否包含在标准汉字库中。本实施例的标准汉字部件加上坐标差值矢量集,生成手写部件的步骤中,标准汉 字部件加上坐标差值矢量集之后,采用插值法获得汉字F的部件E的第η笔笔画的线段的 中间点,进而获得第η笔笔画的所有笔画轨迹;对汉字F的部件E每笔都采用插值法获得中 间点,从而获得汉字F的整个部件E的手写轨迹,完成手写部件的生成。本实施例最后会将合成的手写汉字存储于个性字库。以汉字“吴”为例首先从标准库中读取标准汉字“吴”,读取标准汉字部件库中 “吴”字的部件组成和部件图像,然后读取部件差值矢量库中查出部件“ 口”和“天”的矢量 集,查到“ 口 ”和“天”的矢量集后,将“口 ”和“天”的标准汉字部件坐标加上口 ”和“天”的 矢量集相加得到“ 口 ”和“天”的对应点的手写轨迹点,使用插值法,得到部件“ 口 ”和“天” 的完整曲线,进而生成“ 口,,和“天”的手写部件,最后查询标准汉字部件库,获得“吴”字的 部件“ 口”和“天”为上下关系,汉字合成装置合成手写体“吴”,将合成的手写体“吴”存储 于个性字库中。实施例3如图1、图2所示,本实施例提供一种根据实施例1或者实施例2的方法基于差值矢量 生成部件的手写汉字合成装置,包括标准汉字部件库、部件差值矢量库、部件生成装置、汉 字合成装置;标准汉字部件库用于,存储标准汉字的部件组成和部件图像,标准汉字的部件 和部件之间的特征;部件差值矢量库用于存储标准汉字的部件的坐标与对应手写汉字的部 件的坐标的差值矢量集;部件生成装置用于读取部件差值矢量库,并将标准汉字部件加上 坐标差值矢量集,生成手写部件;汉字合成装置,根据标准汉字部件库中存储的标准汉字的 部件和部件之间的特征,组合已生成的手写部件,合成手写汉字。本实施例的部件差值矢量库形成具体步骤为Dl 在标准汉字部件库中标注汉字F的部件E的第《笔笔画的关键点,第Il笔笔 画的起始点标记为为关键点《O、转折点标记为关键点Wi ,转折点包括笔画w的终止点,终止点标记为关键点He , i=l、2、3、、、e-l,相邻两个关键点为一段,设W0到巧的线段为Fi0Fil > ^n1的中点标记为W01 ;Hi到#^.+1)的线段为qny > UiTiui的中心点标记为%,则第n笔笔画标准关键点集为(《ο, W01, W1,% , ni+l, e);在手写汉字部件库中标注汉字F的部件Ε的第《笔画的关键点,第《笔笔画的起始 点标记为关键点IM0、转折点标记为关键点IBi,转折点包括第《笔笔画的终止点,终止点标记为关键点IM,i=l、2、3、、、e,相邻两个关键点为一段,设趴到趴的线段为IWnIW1 ,FK0Fif1的中点标记为IWm ; Mj ^lJm(i+n的线段为> IniInul的中心点标记为 Ifln ,则第n笔笔画的手写关键点集为(IW0 , OT01 , IW1 , Mil , mi+l, );D2 以部件E的起笔点为坐标原点,左下为正,第 笔笔画的标准关键点·’.与手写关 键点》2的坐标值相减,形成矢量“,j ^ (0,01,1,η, +1·· ),汉字F的部件E的第 JJJ t:笔笔画形成笔画矢量集En ;D3 对每一笔重复以上操作,得到书写汉字所有笔画的特征向量,得到汉字F的部件E 的矢量集为[Ei、E2、-.,Em ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。本实施例的部件生成装置中标准汉字部件加上坐标差值矢量集之后,采用插值法 获得汉字F的部件E的第η笔笔画的线段的中间点,进而获得第η笔笔画的所有笔画轨迹; 对汉字F的部件E每笔都采用插值法获得中间点,从而获得汉字F的整个部件E的手写轨 迹,完成手写部件的生成。本实施例的插值法具体为贝赛尔曲线法。本实施例还包括标准汉字库、个性字库,标准汉字库用于存储标准汉字;汉字合成 装置合成的手写汉字存储于个性字库中。以汉字“吴”为例首先从标准库中读取标准汉字“吴”,读取标准汉字部件库中 “吴”字的部件组成和部件图像,然后读取部件差值矢量库中查出部件“ 口”和“天”的矢量 集,查到“ 口 ”和“天”的矢量集后,将“口 ”和“天”的标准汉字部件坐标加上口 ”和“天”的 矢量集相加得到“ 口 ”和“天”的对应点的手写轨迹点,使用插值法,得到部件“ 口 ”和“天” 的完整曲线,进而生成“ 口,,和“天”的手写部件,最后查询标准汉字部件库,获得“吴”字的 部件“ 口,,和“天”为上下关系,汉字合成装置合成手写体“吴”。本发明的中提到的“部件”可以理解为汉字的“部首”。最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保 护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应 当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实 质和范围。
权利要求
1.基于差值矢量生成部件的手写汉字合成方法,其特征在于包括以下步骤 A 读取标准汉字部件库,获取标准汉字的部件组成和部件图像;B:读取部件差值矢量库,获得标准汉字部件与手写部件之间的坐标的差值矢量集,标 准汉字部件加上坐标差值矢量集,生成手写部件;C:根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组合已生成的手 写部件,合成手写汉字。
2.根据权利要求1所述的基于差值矢量生成部件的手写汉字合成方法,其特征在于 部件差值矢量库形成方法为Dl 在标准汉字部件库中标注汉字F的部件E第fl笔笔画的关键点,第w笔笔画的起始点标记为关键点W0、转折点标记为关键点%, 转折点包括笔画W的终止点,终止点标记为关键点ile , i=l、2、3、、、e-1,相邻两个关键点为一段,设H0 Mni的线段为W0H1 , H0TI1的中点标记为II01 ;Ι .到n(j+1)的线段为明+1 ’明+1的中心点标记为β 1,则第 笔笔画标准关键点集为(H0 , Il01 , B1 ,在手写汉字部件库中标注汉字F的部件E的第η g画的关键点,第W笔笔画的起始 点标记为关键点IH0、转折点标记为关键点IWi,转折点包括第!!笔笔画的终止点,终止点标记为关键点ff‘,i=l、2、3、、、e,相邻两个关键点为一段,设%到叫的线段为TfluTUl ,M0M1的中点标记为IM01 ;m. I1Jm(i+l)的线段为,的中心点标记为mn ,则第n笔笔画的手写关键点集为(IM0 , IM01 , /K1 , Mil , mi+l ,rne);D2 以部件E的起笔点为坐标原点,第n笔笔画的标准关键点与手写关键点的坐标值相减,形成矢量j € (0,01,1, il, +1···Θ),汉字F的部件E的第η笔笔画 形成笔画矢量集£。;D3 对每一笔重复以上操作,得到书写汉字F的部件E的所有的笔画的特征向量,得到 汉字F的部件E的矢量集为[Ε^Ε^…、Eh ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。
3.根据权利要求2所述的基于差值矢量生成部件的手写汉字合成方法,其特征在于 步骤B中,标准汉字部件加上坐标差值矢量集之后,采用插值法获得汉字F的部件E的第η笔笔画的线段的中间点,进而获得第η笔笔画的所有笔画轨迹;对汉字F的部件E每笔都采 用插值法获得中间点,从而获得汉字F的整个部件E的手写轨迹,完成手写部件的生成。
4.根据权利要求3所述的基于差值矢量生成部件的手写汉字合成方法,其特征在于 插值法具体为贝赛尔曲线法。
5.根据权利要求1-4任意一项所述的基于差值矢量生成部件的手写汉字合成方法,其 特征在于步骤A之前还包括在标准汉字库中查询标准汉字,判断该标准汉字是否包含在 标准汉字库中;步骤C之后还包括将合成的手写汉字存储于个性字库。
6.一种根据权利要求1所述的基于差值矢量生成部件的手写汉字合成方法合成手写 汉字的装置,其特征在于包括标准汉字部件库、部件差值矢量库、部件生成装置、汉字合成 装置;标准汉字部件库用于存储标准汉字的部件组成和部件图像,标准汉字的部件和部件之 间的特征;部件差值矢量库用于存储标准汉字的部件的坐标与对应手写汉字的部件的坐标的差值矢量集;部件生成装置用于读取部件差值矢量库,并将标准汉字部件加上坐标差值矢量集,生 成手写部件;汉字合成装置,根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组 合已生成的手写部件,合成手写汉字。
7.根据权利要求6所述的基于差值矢量生成部件的手写汉字合成装置,其特征在于 部件差值矢量库形成具体步骤为Dl 在标准汉字部件库中标注汉字F的部件E的第《笔笔画的关键点,第《笔笔画的起始点标记为为关键点《0、转折点标记为关键点Hi ,转折点包括笔画W的终止点, 终止点标记为关键点ne , i=l、2、3、、、e-l,相邻两个关键点为一段,设H0到Fl1的线段为F^nl ’ HqH1的中点标记为H01 到《0+1)的线段为H1I^1 ,的中心点标记为,则第η笔笔画标准关键点集为(《ο , H01 , W1,% , ni+l ,ne);在手写汉字部件库中标注汉字F的部件Ε的第《笔画的关键点,第《笔笔画的起始 点标记为关键点IM0、转折点标记为关键点Wii,转折点包括第β笔笔画的终止点,终止点标记为关键点,i=l、2、3、、、e,相邻两个关键点为一段,设%到,的线段为IK^Wi,TKqTH1的中点标记为IM01 ; Mj ^1J m(i+Y)的线段为‘ MiMul的中心点标记为 /M1 ,则第,2笔笔画的手写关键点集为(IM0 "W01 ’ /W1 ’ m}l , mi+l , me);D2 以部件E的起笔点为坐标原点,第β笔笔画的标准关键点与手写关键点IMi的坐标值相减,形成矢量^/^· , j € (0,01,1, il, +1···Θ),汉字F的部件E的第 笔笔画形 成笔画矢量集En ;D3 对每一笔重复以上操作,得到书写汉字所有笔画的特征向量,得到汉字F的部件E 的矢量集为[E^h、…、Es ];D4 对所有标准汉字都进行上面3步操作,存储于部件差值矢量库中,形成部件差值矢量库。
8.根据权利要求7所述的基于差值矢量生成部件的手写汉字合成装置,其特征在于 部件生成装置中标准汉字部件加上坐标差值矢量集之后,采用插值法获得汉字F的部件E 的第η笔笔画的线段的中间点,进而获得第η笔笔画的所有笔画轨迹;对汉字F的部件E每 笔都采用插值法获得中间点,从而获得汉字F的整个部件E的手写轨迹,完成手写部件的生 成。
9.根据权利要求8所述的基于差值矢量生成部件的手写汉字合成装置,其特征在于 插值法具体为贝赛尔曲线法。
10.根据权利要求6-9任意一项所述的基于差值矢量生成部件的手写汉字合成装置, 其特征在于还包括标准汉字库、个性字库,标准汉字库用于存储标准汉字;汉字合成装置 合成的手写汉字存储于个性字库中。
全文摘要
本发明涉及计算机应用技术领域,尤其涉及基于差值矢量生成部件的手写汉字合成方法,首先读取标准汉字部件库,获取标准汉字的部件组成和部件图像;然后读取部件差值矢量库,获得标准汉字部件与手写部件之间的坐标的差值矢量集,标准汉字部件加上坐标差值矢量集,生成手写部件;最后根据标准汉字部件库中存储的标准汉字的部件和部件之间的特征,组合已生成的手写部件,合成手写汉字,本发明能够在采集少量用户手写字体的前提下,自动合成手写字,采集成本低。
文档编号G06K9/22GK102054172SQ20101058263
公开日2011年5月11日 申请日期2010年12月10日 优先权日2010年12月10日
发明者司华友, 祁亨年, 邓飞 申请人:浙江农林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1