CN101699516B - 一种手写汉字美化的笔画渲染方法 - Google Patents

一种手写汉字美化的笔画渲染方法 Download PDF

Info

Publication number
CN101699516B
CN101699516B CN200910193515A CN200910193515A CN101699516B CN 101699516 B CN101699516 B CN 101699516B CN 200910193515 A CN200910193515 A CN 200910193515A CN 200910193515 A CN200910193515 A CN 200910193515A CN 101699516 B CN101699516 B CN 101699516B
Authority
CN
China
Prior art keywords
stroke
writing
style
width
section
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
Application number
CN200910193515A
Other languages
English (en)
Other versions
CN101699516A (zh
Inventor
金连文
朱星华
毛慧芸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN200910193515A priority Critical patent/CN101699516B/zh
Publication of CN101699516A publication Critical patent/CN101699516A/zh
Application granted granted Critical
Publication of CN101699516B publication Critical patent/CN101699516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明为一种手写汉字美化的笔画渲染方法,利用用户输入的轨迹信息,利用笔画渲染技术实现具有毛笔行楷书法风格的笔画轮廓。所述笔画渲染技术包括:(1)、笔画标记;(2)、笔画轮廓插值;(3)、笔画生成;与现有的手写汉字美化方法相比,本发明保留了手写人的个性化信息,可以对手写人的字体进行行楷字体的转换,手写汉字的美化过程运算复杂度低,但其效果佳。

Description

一种手写汉字美化的笔画渲染方法
技术领域
本发明属于模式识别与人工智能技术领域,特别是涉及一种手写汉字美化的笔画渲染方法。
背景技术
中国毛笔已经有数千年的历史,中国书法被认为是中国绘画的最高形式。手写体汉字比印刷体汉字更灵活、更有原创性,人们甚至认为手写字迹能反映一个人的性格、情绪和文化修养等个人特征。这使得手写体汉字成为这些亚洲国家生活和文化中不可分割、不可替代的艺术形式。近年来有一些专利侧重与汉字美化方面。申请号为200810060767.8的“一种汉字书写形态美观度的计算机评估方法”给出了一种计算机对汉字书写心态美观度的评估方法。这种方法只是对利用图像处理和人工智能对汉字书写进行一个评价,并没有对字体进行美化处理。申请号为200810121201.1的“一种手写体汉字的计算机生成与美化方法”公开了一种手写体汉字的计算机生成与美化方法。该方法只是简单的利用线性插值,得到新的手写字体,所以美化效果方面还有待提高。申请号为200810028916.2的“一种手写汉字美化方法”提出一种手写汉字美化方法,在保留书写者书写风格基础上,对其手写汉字进行美化的手写轨迹处理方法。但是由于字体众多,并没有针对特定字体来进行美化,虽然保留了个人风格,但是美化的目标并没有达到特定字体的效果。
发明内容
本发明的目的在于利用计算机处理的方法,提供一种手写汉字美化的笔画渲染方法,不仅保留手写者的手写风格,而且将书写者的字体进行笔画渲染,使其贴近行楷风格的毛笔字体。
本发明包括如下技术特征:首先从输入设备捕捉到用户的输入轨迹;进行重采样处理;获得采样均匀的用户输入的笔画的骨架信息,然后通过笔画渲染技术实现具有毛笔行楷书法风格的笔画轮廓,其特征在于所述笔画渲染技术包括如下步骤:
(1)笔画标记:利用椭圆来模拟生成毛笔书法风格的笔画形状,在轨迹曲线上选用不同的笔锋椭圆来代表着该点上的笔画宽度、书写方向以及笔画走势属性;
(2)笔画轮廓插值:将笔画分成从细变粗、从粗变细以及两头大小相同分别对椭圆的长轴,短轴以及角度进行插值;
(3)笔画生成:利用椭圆的反走样处理,完成字体的美化处理。
所述步骤(1)具体为,已知轨迹曲线t处的轨迹点坐标Qt=(xt,yt)以及该处的轨迹曲线切线方向θt,该处的椭圆形状Et={at,bt,ωt}是Qt和θt的函数:Et=Et(Qt,θt)={at(Qt,θt),bt(Qt,θt),ωt(Qt,θt)},其中,ωt(Qt,θt)是笔锋椭圆主轴方向,表征笔锋的书写方向;at(Qt,θt)是笔锋椭圆主轴大小,表征笔画在该处的笔画宽度;bt(Qt,θt)是次主轴大小,主长度bt与主轴长度成一比例因子关系kt,bt(Qt,θt)=kt·at(Qt,θt);当笔杆倾斜方向与书写方向相同时,笔锋椭圆在书写方向上有延展趋势,即短轴较长,比例因子kt较大;而当笔杆倾斜方向与书写方向相反时,笔锋椭圆在书写方向上被压缩,短轴缩短,kt较小;
所述步骤(2)具体为,通过笔画标记算法,对笔画轨迹中的起点、终点以及转折点进行标记;对于笔画轨迹中的其它点,采用插值的方法计算其笔锋形状参数at,ωt以及bt;bt采用线性插值方式,ωt在轨迹曲线上没有拐点的情况下也是线性插值,而存在拐点的附近,其拐点附近都采用拐点处的ωt0值;at的插值计算方法根据笔画外轮廓的走向,分成笔画段从粗变细、笔画段从细变粗、笔画段两端大小相同三种不同的情况分别进行插值处理;
所述步骤(3)笔画生成具体为:设椭圆中心为(x0,y0),a和b分别为长半轴和短半轴,ω为主轴与x轴的夹角,设(x,y)是屏幕上的象素点;首先计算点(x,y)到点(x0,y0)的距离d以及经过(x0,y0)与(x,y)的直线与椭圆主轴方向间的夹角根据椭圆形定义方程可以推算得出,在与主轴方向夹角为θ的方向上,椭圆的半径长度为
Figure GSB00000533469100032
如果(x,y)位于椭圆内,即d<d0-0.5,则(x,y)为完全填充点,灰度值为0;如果(x,y)在椭圆上,即d0-0.5≤d<d0+0.5,令e=d-(d0-0.5),则(x,y)灰度值为255·e;当d>d0+0.5,即(x,y)在椭圆外,(x,y)灰度值为255,即不进行填充。
更进一步的,对步骤(1)可以更具体为:对步骤(1)中所述ωt(Qt,θt)进行适当角度的倾斜,加入可调的附加角度δt,即
Figure GSB00000533469100033
具体到在行楷书法中,在书写每一笔的起始点时,落笔方向一般会向左倾斜约30°角度。反映在笔锋椭圆的特性上,所以要在ωt上附加角度δt为25°~35°,最优30°。
对步骤(1)中所述的at(Qt,θt)进行适当调整,当ωt确定时at定义为:at(Qt,θt)=wt/sin(ωt(Qt,θt));其中wt是该处的笔画宽度,wt的确定与用户选择的笔画宽度参数以及t的取值有关,也与当前笔画与其前后相邻笔画的邻接关系有关。所述wt依照如下表规则确定:
所述Pen_Width是一个可变的用户参数,表示笔锋的最大宽度,用户可通过图形界面调整笔画宽度的值;Min_Stroke_Width表示笔画最小宽度,是一个预定义的常量,系统选定Min_Stroke_Width=3。
对步骤(1)中所述bt(Qt,θt)的调整,其具体操作如下:bt(Qt,θt)是长短轴at(Qt,θt)乘上比例因子kt,在书写拐点或转折点时,笔杆旋转方向倾向书写方向的反方向,kt减小;在书写非拐点笔段时,笔杆旋转方向倾向书写方向,kt增大;kt定义如下
Figure GSB00000533469100041
其中T是一个预定义的阈值,设为0.1。
更进一步的,对所述步骤(2)可以更具体为:所提及对at的三种插值计算方法,其具体如下:
当笔画段从粗变细,假设si和si+1是拐点,而[si,si+1)区间上的笔画段轨迹近似成一段直线段,拐点si和si+1上的笔锋椭圆分别为
Figure GSB00000533469100042
Figure GSB00000533469100043
分别使用二次函数和线性函数
Figure GSB00000533469100044
Figure GSB00000533469100045
Figure GSB00000533469100046
的连线进行插值运算,其中
Figure GSB00000533469100047
具体定义为:
Figure GSB00000533469100048
其中, A = s i + 1 - s i a s i 2 - a s i + 1 2
t 0 = ( s i + 1 - s i ) · ( 1 - a s i 2 a s i + 1 2 ) + s i
当笔画段从细变粗,则视为第一种情况的反相;使用线性函数
Figure GSB00000533469100051
Figure GSB00000533469100052
Figure GSB00000533469100053
的连线进行插值运算,
Figure GSB00000533469100054
具体定义为:
P s i , s i + 1 ( t ) = a t i + ( a t i + 1 - a t i ) · t - s i s i + 1 - s i
当笔画段两端大小相同,此时,
Figure GSB00000533469100056
如果两个相邻拐点si和si+1的主轴长度被标记为相同,把这一笔画的轮廓曲线插值分为两种情况处理,第一种情况,即曲线段Q(t)(si≤t<si+1)长度在一定的阈值范围内,系统把曲线段Q(t)(si≤t<si+1)判定为短笔段,使用平行于笔画段骨架的直线来对si和si+1之间的轮廓进行插值,即在这个笔段上笔画宽度保持不变;第二种情况是曲线段Q(t)(si≤t<si+1)长度超过预定义的阈值范围,则这个笔段是长笔段,此时采用具有下凹特性的曲线来对长笔段轮廓曲线进行插值;
插值函数
Figure GSB00000533469100057
的定义为:
P s i , s i + 1 ( t ) = A &CenterDot; [ t - s i + s i + 1 2 ] 2 + a 0 , s i s i + 1 &OverBar; > Thres _ Length a s i , s i s i + 1 &OverBar; < = Thres _ Length
a 0 = a s i - ( a s i - Min _ Stroke _ Width 2 ) &CenterDot; ( 1 - Thres _ Length s i s i + 1 &OverBar; )
A = 4 &CenterDot; a s i - a 0 ( s i - s i + 1 ) 2 .
本发明的基本原理是利用笔画渲染方法来实现输出毛笔行楷手写汉字的效果,其中笔画渲染方法主要利用三步骤,分别是笔画标记,笔画轮廓插值,笔画生成,与已有的手写汉字美化方法相比,本发明具有如下的优点和有益效果:(1)、保留了手写人的个性化信息(2)、可以对手写人的字体进行行楷字体的转换(3)、手写汉字的美化过程运算复杂度低,但其效果佳。
附图说明
图1是本发明的系统总体结构框图;
图2是本发明的系统实现功能框图;
具体实施方式
下面结合附图对本发明做进一步的说明,实施本发明所用的美化识别设备可以采用手写板书写汉字,用计算机进行美化识别,用纯平型显示器显示用户图形界面,可采用C语言编制各类处理程序,便能较好地实施本发明。
本发明的系统总体结构框图如附图1所示,汉字通过手写板书进行手写输入采样,然后利用计算机实现美化算法对输入的手写字体美化,最后利用纯平型显示器显示美化后的手写字体输出。
本发明的系统实现功能框图如附图2所示,手写输入样本的轨迹信息通过手写板书已获得,送入笔画渲染处理模块进行毛笔字体模拟和处理,步骤(1)笔画标记,利用椭圆来模拟生成毛笔书法风格的笔画形状,并在轨迹曲线上选用不同的笔锋椭圆来代表着该点上笔画宽度、运笔方向以及笔画走势等属性。步骤(2)笔画轮廓插值,将笔画分成从细变粗、从粗变细以及两头大小相同这三种情况分别对椭圆的长轴,短轴以及角度进行插值。步骤(3)笔画生成,利用椭圆的反走样处理,最终完成字体的美化处理,并且在显示器上显示美化后的字体。
以下将对上述步骤(1)~(3)进行具体的说明。
步骤(1)笔画标记:本系统使用笔锋模拟的算法生成毛笔书法风格的笔画形状。假设毛笔笔刷是一个理想的圆锥形,那么,笔锋的形状可以近似地看作一个椭圆。随着笔画书写的方向、力度和笔杆转向的改变,代表笔锋的椭圆形在轴长、长短轴比例以及主轴方向上均会随之改变。设一个笔画的样本点轨迹为Q(t),0≤t≤1,在t=ti处笔锋椭圆E(ti)以点Q(ti)为中心,它的形状由三个变量定义:
E(t)={at,bt,ωt}                                    式1
其中,at为笔锋椭圆主轴(x轴)长度;bt为笔锋椭圆次轴(y轴)长度;ωt为笔锋椭圆的主轴与x轴的夹角。在轨迹曲线Q(t),0≤t≤1上的t点处,笔锋椭圆Et={at,bt,ωt}代表着该点上笔画宽度、运笔方向以及笔画走势等属性。如何决定笔锋椭圆形状的算法,对笔画形状的生成有着重要的影响。本算法通过笔画标记模块标记轨迹Q(t)上特殊点的笔锋椭圆形状属性值,然后使用插值方法得到笔画轨迹其余点上的笔锋形状属性值。
设已知曲线t处的轨迹点坐标Qt=(xt,yt)以及该处的轨迹曲线切线方向θt,则该处的椭圆形状Et={at,bt,ωt}是Qt和θt的函数,即
Et=Et(Qt,θt)={at(Qt,θt),bt(Qt,θt),ωt(Qt,θt)}    式2
其中,at(Qt,θt),bt(Qt,θt),ωt(Qt,θt)的物理意义分别描述如下:
1、笔锋椭圆主轴方向ωt(Qt,θt)
ωt(Qt,θt)是笔锋椭圆的主轴旋转角度,它的值表征着当前笔锋的书写方向。因此,ωt(Qt,θt)随着书写方向的改变而改变。在一般情况下,ωt(Qt,θt)方向与书写方向成90°角,即指向书写轨迹的法线方向,此时,笔锋椭圆的主轴长度即为笔锋的宽度值的一半。而在一些特殊点上,如笔画起始点、拐点处,根据行楷书法的笔画书写特点,可对ωt(Qt,θt)进行适当角度的倾斜,因此,在ωt(Qt,θt)的公式加入了一个可调的附加角度δt,即
&omega; t ( Q t , &theta; t ) = &theta; t + &pi; 2 + &delta; t 式3
举例来说,在行楷书法中,在书写每一笔的起始点时,落笔方向一般会向左倾斜一定角度(约30°)。反映在笔锋椭圆的特性上,即要在ωt上添加一个30°的倾斜角,即
Figure GSB00000533469100072
2、笔锋椭圆主轴大小at(Qt,θt)
从直观意义上来说,笔锋椭圆的主轴长度at表征了笔画在该处的宽度,它直接影响着笔画外轮廓的形状。在已确定ωt的情况下,at定义为:
at(Qt,θt)=wt/sin(ωt(Qt,θt))                         式4
其中wt是该处的笔画宽度。wt的确定与用户选择的笔画宽度参数以及t的取值有关,也与当前笔画与其前后相邻笔画的邻接关系有关,是一个比较复杂的过程。本算法根据各种不同的参数以及邻接关系情况进行了一系列规则的设计如下表所示。相较于真实的楷书书写情况,这些规则仍显得比较简单。但在实验中,这样的规则系列基本上能够较好地拟合流畅、美观的笔画轮廓,且能够生动地体现笔画的转折和力度的改变。
笔画宽度选择规则
Figure GSB00000533469100081
Pen_Width是一个可变的用户参数,表示笔锋的最大宽度,用户可通过图形界面调整笔画宽度的值。Min_Stroke_Width表示笔画最小宽度,是一个预定义的常量,系统选定Min_Stroke_Width=3。
3、次主轴大小bt(Qt,θt)
笔锋椭圆的次主轴(短轴)长度bt由主轴长度以及长短轴比例因子kt决定,即:
bt(Qt,θt)=kt·at(Qt,θt)                              式5
笔锋椭圆的长短轴比例kt与毛笔笔杆的倾斜角度有关。当笔杆倾斜方向与书写方向相同时,笔锋椭圆在书写方向上有延展趋势,即短轴较长,比例因子kt较大;而当笔杆倾斜方向与书写方向相反时,笔锋椭圆在书写方向上被压缩,短轴缩短,kt较小。由于系统所针对的输入设备是普通的鼠标或触摸屏,无法取得与笔杆旋转角度有关的信息,因此kt设置如下:
在书写拐点或转折点时,笔杆旋转方向倾向书写方向的反方向,kt减小;在书写非拐点笔段时,笔杆旋转方向倾向书写方向,kt增大。
根据以上原则,可定义:
Figure GSB00000533469100091
式6
其中T是一个预定义的阈值,一般设为0.1。
对于拐点位置t,kt≡0.2。
步骤(2)笔画轮廓插值:通过笔画标记算法,笔画轨迹中的拐点s0,…,sn(包括起点、终点以及转折点)进行了标记。对于笔画轨迹中的其它点,使用插值的方法计算其笔锋形状参数at,ωt以及bt
其中,bt的插值计算方法如式5,6所示。ωt的插值算法也与之相似。若轨迹曲线在[t-T,t+T]范围内存在拐点,则取与之最近的拐点处的ωt0值为ωt,否则
下面重点讨论笔锋椭圆主轴长度at的插值计算方法,也就是笔画的外轮廓曲线的插值方法。设Qt=(xt,yt)是笔画轨迹上的一个点,t∈[si,si+1),其中si(0≤i≤n)是小于t的最大的拐点位置。显然,笔画轨迹在[si,si+1)区间上可近似地看成一段直线段。此时,忽略笔锋椭圆的旋转角度ωt以及次轴长度bt,笔画外轮廓可分为三种不同的情况:笔画从细变粗、从粗变细以及两头大小相同。
1、笔画段从粗变细
笔画段从粗变细的情况一般出现在笔画的结束处,可能是实际书写的笔画结束处或在头尾延伸变换中所形成的尾部。假设把[si,si+1)区间上的笔画段轨迹近似地看成一段直线段,则笔画段在骨架左右两侧的外轮廓曲线关于笔画骨架轨迹对称。不失一般性地,取骨架上侧的外轮廓曲线进行插值,以计算骨架采样点上所对应的笔画宽度。实际书写的笔画结束笔段形状与头尾延伸所形成的尾部形状稍有不同。实际书写的笔画结束笔段呈现具有弧线形状的轮廓,而尾部延伸的轮廓形状则呈现更为尖锐的夹角。设拐点si和si+1上的笔锋椭圆分别为
Figure GSB00000533469100101
Figure GSB00000533469100102
分别使用二次函数和线性函数
Figure GSB00000533469100105
的连线进行插值运算,其中具体定义为:
Figure GSB00000533469100107
式7
A = s i + 1 - s i a s i 2 - a s i + 1 2 式8
t 0 = ( s i + 1 - s i ) &CenterDot; ( 1 - a s i 2 a s i + 1 2 ) + s i 式9
2、笔画段从细变粗
笔画段从细变粗可以看成第一种情况的反过程。笔画段从细变粗的情况一般出现在笔画的开始,与上一笔画有连笔或拖笔的情况,笔画段的外轮廓为会呈现较尖锐的夹角形状。因此,使用线性函数
Figure GSB000005334691001010
Figure GSB000005334691001011
Figure GSB000005334691001012
的连线进行插值运算,
Figure GSB000005334691001013
具体定义为:
P s i , s i + 1 ( t ) = a t i + ( a t i + 1 - a t i ) &CenterDot; t - s i s i + 1 - s i 式10
3、笔画段两端大小相同
笔画段两端大小相等的情况一般出现在笔画的中间部分,此时,
Figure GSB000005334691001015
如果两个相邻拐点si和si+1的主轴长度相同,把这一笔画的轮廓曲线插值分为两种情况处理。
第一种情况,即曲线段Q(t)(si≤t<si+1)长度在一定的阈值范围内,系统把曲线段Q(t)(si≤t<si+1)判定为短笔段,使用平行于笔画段骨架的直线来对si和si+1之间的轮廓进行插值,即在这个笔段上笔画宽度保持不变;第二种情况是曲线段Q(t)(si≤t<si+1)长度超过预定义的阈值范围,则这个笔段是长笔段。注意到在行楷风格的书法书写长直笔画时,在越接近拐点的地方,笔画宽度越大,而离拐点越远笔画宽度越小。因此采用具有下凹特性的曲线来对长笔段轮廓曲线进行插值。
综上所述,对于笔画段两端大小相等的情况,插值函数
Figure GSB00000533469100111
的定义为:
P s i , s i + 1 ( t ) = A &CenterDot; [ t - s i + s i + 1 2 ] 2 + a 0 , s i s i + 1 &OverBar; > Thres _ Length a s i , s i s i + 1 &OverBar; < = Thres _ Length 式11
a 0 = a s i - ( a s i - Min _ Stroke _ Width 2 ) &CenterDot; ( 1 - Thres _ Length s i s i + 1 &OverBar; ) 式12
A = 4 &CenterDot; a s i - a 0 ( s i - s i + 1 ) 2 式13
步骤(3)笔画生成:由于计算机图象的数字化特点,使得用计算机生成的图形最终都是用离散的整数象素来显示,而具有锯齿或台阶状外观,这种由于低频采样不充分而造成的信息失真叫走样(aliasing),借鉴采用Wu反走样算法,其基本思想是设直线两个端点为(x1,y1)和(x2,y2),把|x1-y1|和|x2-y2|较长的数轴为长轴,较短的数轴为短轴。沿着长轴方向前进一个像素单位,在短轴方向与理想直线距离最近的有两个像素,这两个像素都点亮,但是这两个像素对应的颜色灰度值(强度)是不同的,距离远的像素灰度值小,距离近的像素灰度值大,但两者灰度之和等于像素颜色的灰度值。根据这个思想,模拟生成毛笔书法风格的椭圆反走样画法如下:设椭圆中心为(x0,y0),a和b分别为长半轴和短半轴,ω为主轴与x轴的夹角。设(x,y)是屏幕上的象素点。首先计算点(x,y)到点(x0,y0)的距离d以及经过(x0,y0)与(x,y)的直线与椭圆主轴方向间的夹角
Figure GSB00000533469100121
根据椭圆形定义方程可以推算得出,在与主轴方向夹角为θ的方向上,椭圆的半径长度为
Figure GSB00000533469100122
如果(x,y)位于椭圆内,即d<d0-0.5,则(x,y)为完全填充点,灰度值为0;如果(x,y)在椭圆上,即d0-0.5≤d<d0+0.5,令e=d-(d0-0.5),则(x,y)灰度值为255·e;当d>d0+0.5,即(x,y)在椭圆外,(x,y)灰度值为255,即不进行填充。

Claims (7)

1.一种手写汉字美化的笔画渲染方法,首先从输入设备捕捉到用户的输入轨迹;进行重采样处理;获得采样均匀的用户输入的笔画的骨架信息,然后通过笔画渲染技术实现具有毛笔行楷书法风格的笔画轮廓,其特征在于所述笔画渲染技术包括如下步骤:
(1)笔画标记:利用椭圆来模拟生成毛笔书法风格的笔画形状,对轨迹曲线上的轨迹点选用不同的笔锋椭圆来代表着该点上的笔画宽度、书写方向以及笔画走势属性,具体操作为:已知轨迹曲线t处的轨迹点坐标Qt=(xt,yt)以及该处的轨迹曲线切线方向θt,该处的椭圆形状Et={at,bt,ωt}是Qt和θt的函数:
Et=Et(Qt,θt)={at(Qt,θt),bt(Qt,θt),ωt(Qt,θt)},其中,ωt(Qt,θt)是笔锋椭圆主轴方向,表征笔锋的书写方向;at(Qt,θt)是笔锋椭圆主轴大小,表征笔画在该处的笔画宽度;bt(Qt,θt)是次主轴大小,主长度bt与主轴长度成一比例因子关系kt,bt(Qt,θt)=kt·at(Qt,θt);当笔杆倾斜方向与书写方向相同时,笔锋椭圆在书写方向上有延展趋势,即短轴较长,比例因子kt较大;而当笔杆倾斜方向与书写方向相反时,笔锋椭圆在书写方向上被压缩,短轴缩短,kt较小;
(2)笔画轮廓插值:将笔画分成从细变粗、从粗变细以及两头大小相同分别对椭圆的长轴,短轴以及角度进行插值,具体操作为:通过笔画标记算法,对笔画轨迹中的起点、终点以及转折点进行标记;对于笔画轨迹中的其它点,采用插值的方法计算其笔锋形状参数at,ωt以及bt;bt采用线性插值方式,ωt在轨迹曲线上没有拐点的情况下也是线性插值,而存在拐点的附近,其拐点附近都采用拐点处的ωt0值;at的插值计算方法根据笔画外轮廓的走向,分成笔画段从粗变细、笔画段从细变粗、笔画段两端大小相同三种不同的情况分别进行插值处理;
(3)笔画生成:利用椭圆的反走样处理,完成字体的美化,具体操作为:设椭圆中心为(x0,y0),a和b分别为长半轴和短半轴,ω为主轴与x轴的夹角,设(x,y)是屏幕上的象素点;首先计算点(x,y)到点(x0,y0)的距离d以及经过(x0,y0)与(x,y)的直线与椭圆主轴方向间的夹角
Figure FSB00000731296200021
根据椭圆形定义方程可以推算得出,在与主轴方向夹角为θ的方向上,椭圆的半径长度为
Figure FSB00000731296200022
如果(x,y)位于椭圆内,即d<d0-0.5,则(x,y)为完全填充点,灰度值为0;如果(x,y)在椭圆上,即d0-0.5≤d<d0+0.5,令e=d-(d0-0.5),则(x,y)灰度值为255·e;当d>d0+0.5,即(x,y)在椭圆外,(x,y)灰度值为255,即不进行填充。
2.根据权利要求1所述的手写汉字美化的笔画渲染方法,其特征在于:对步骤(1)中所述ωt(Qt,θt)进行适当角度的倾斜,加入可调的附加角度δt,即
Figure FSB00000731296200023
3.根据权利要求2所述的手写汉字美化的笔画渲染方法,其特征在于:附加角度δt为25°至35°。
4.根据权利要求1所述的手写汉字美化的笔画渲染方法,其特征在于:对步骤(1)中所述的at(Qt,θt)进行适当调整,当ωt确定时at定义为:at(Qt,θt)=wt/sin(ωt(Qt,θt));其中wt是该处的笔画宽度,wt的确定与用户选择的笔画宽度参数以及t的取值有关,也与当前笔画与其前后相邻笔画的邻接关系有关。
5.根据权利要求4所述的手写汉字美化的笔画渲染方法,其特征在于:所述wt依照如下表规则确定:
 t      端点类型        wt    0   无延伸        Pen_Width
    延伸/连接端点   Min_Stroke_Width   0<t<1   -   Pen_Width   1   -   Min_Stroke_Width
所述0表示笔画起始点,Pen_Width是一个可变的用户参数,表示笔锋的最大宽度,用户可通过图形界面调整笔画宽度的值,1表示笔画末点,Min_Stroke_Width表示笔画最小宽度,是一个预定义的常量,系统选定Min_Stroke_Width=3。
6.根据权利要求1所述的手写汉字美化的笔画渲染方法,其特征在于:对步骤(1)中所述bt(Qt,θt)的调整,其具体操作如下:bt(Qt,θt)是长短轴at(Qt,θt)乘上比例因子kt,在书写拐点或转折点时,笔杆旋转方向倾向书写方向的反方向,kt减小;在书写非拐点笔段时,笔杆旋转方向倾向书写方向,kt增大;kt定义如下
Figure FSB00000731296200031
其中T是一个预定义的阈值,设为0.1。
7.根据权利要求1所述的手写汉字美化的笔画渲染方法,其特征在于:所述步骤(2)所述at的三种插值计算方法,其具体如下:
当笔画段从粗变细,假设si和si+1是拐点,而[si,si+1)区间上的笔画段轨迹近似成一段直线段,拐点si和si+1上的笔锋椭圆分别为
Figure FSB00000731296200032
Figure FSB00000731296200033
分别使用二次函数和线性函数
Figure FSB00000731296200034
Figure FSB00000731296200035
Figure FSB00000731296200036
的连线进行插值运算,其中
Figure FSB00000731296200037
具体定义为:
Figure FSB00000731296200038
其中,
Figure FSB00000731296200041
Figure FSB00000731296200042
当笔画段从细变粗,则视为第一种情况的反相;使用线性函数
Figure FSB00000731296200043
Figure FSB00000731296200044
Figure FSB00000731296200045
的连线进行插值运算,
Figure FSB00000731296200046
具体定义为:
Figure FSB00000731296200047
当笔画段两端大小相同,此时,
Figure FSB00000731296200048
如果两个相邻拐点si和si+1的主轴长度被标记为相同,把这一笔画的轮廓曲线插值分为两种情况处理,第一种情况,即曲线段Q(t),其中si≤t<si+1,长度在一定的阈值范围内,系统把曲线段Q(t)判定为短笔段,使用平行于笔画段骨架的直线来对si和si+1之间的轮廓进行插值,即在这个笔段上笔画宽度保持不变;第二种情况是曲线段Q(t)长度超过预定义的阈值范围,则这个笔段是长笔段,此时采用具有下凹特性的曲线来对长笔段轮廓曲线进行插值;
插值函数
Figure FSB00000731296200049
的定义为:
Figure FSB000007312962000410
Figure FSB000007312962000411
Figure FSB000007312962000412
其中,Thres_Length表示预定义的阈值范围,Min_Stroke_Width表示笔画最小宽度。
CN200910193515A 2009-10-30 2009-10-30 一种手写汉字美化的笔画渲染方法 Active CN101699516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910193515A CN101699516B (zh) 2009-10-30 2009-10-30 一种手写汉字美化的笔画渲染方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910193515A CN101699516B (zh) 2009-10-30 2009-10-30 一种手写汉字美化的笔画渲染方法

Publications (2)

Publication Number Publication Date
CN101699516A CN101699516A (zh) 2010-04-28
CN101699516B true CN101699516B (zh) 2012-09-05

Family

ID=42147975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910193515A Active CN101699516B (zh) 2009-10-30 2009-10-30 一种手写汉字美化的笔画渲染方法

Country Status (1)

Country Link
CN (1) CN101699516B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916451A (zh) * 2010-07-30 2010-12-15 浙江大学 书法特定风格渲染的方法
JP5523973B2 (ja) * 2010-07-30 2014-06-18 シャープ株式会社 ネットワークシステムおよび通信方法
JP5706001B2 (ja) * 2011-01-31 2015-04-22 北京壹人壹本信息科技有限公司Beijing Ereneben Information Technology Co., Ltd. 手書き原筆跡の実現方法、実現装置及び電子装置
CN102103761B (zh) * 2011-01-31 2013-05-08 北京壹人壹本信息科技有限公司 手写原笔迹的实现方法
CN102289838B (zh) * 2011-08-26 2014-07-02 厦门大学 一种由书法汉字图像生成其动态书写动画的方法
CN102436348B (zh) * 2011-11-14 2013-05-01 中国科学院合肥物质科学研究院 一种基于力信息的毛笔书法表达方法
CN102866855A (zh) * 2012-08-29 2013-01-09 北京捷通华声语音技术有限公司 一种基于手写输入的电子表单录入方法、系统和终端
CN102930578A (zh) * 2012-10-16 2013-02-13 北京千橡网景科技发展有限公司 实现毛笔字仿真的方法和装置
CN103310474B (zh) * 2013-06-08 2016-04-06 深圳市经纬科技有限公司 一种手写原笔迹的实现方法及系统
CN104571836B (zh) * 2013-10-11 2017-08-25 北大方正集团有限公司 基于触摸屏的毛笔笔形处理方法和装置
CN104268915B (zh) * 2014-09-19 2017-08-25 华南理工大学 一种手写汉字的实时轮廓美化方法
US10282867B2 (en) 2016-03-25 2019-05-07 Microsoft Technology Licensing, Llc Shading for variable opacity stroke rendering
CN105679140B (zh) * 2016-04-12 2018-02-23 赵敏 一种生成书法练习贴的方法及其装置和书法练字方法
CN110111243B (zh) * 2019-04-30 2023-05-12 山东浪潮科学研究院有限公司 一种利用ai技术美化手写字体的方法及装置
CN111815743A (zh) * 2020-07-14 2020-10-23 深圳市昇利扬科技有限公司 一种数字墨水手写笔迹美化的方法
CN112818145B (zh) * 2021-01-19 2022-09-09 上海义启信息科技有限公司 一种智能字体风格渲染系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811678A (zh) * 2005-01-24 2006-08-02 乐金电子(惠州)有限公司 内置有触摸屏的终端机的画线方法
CN1870052A (zh) * 2005-07-08 2006-11-29 天津大学 基于压感笔等装置的三维毛笔模型与仿真方法
CN101308578A (zh) * 2008-06-20 2008-11-19 华南理工大学 一种手写汉字美化方法
CN101393645A (zh) * 2008-09-12 2009-03-25 浙江大学 一种手写体汉字的计算机生成与美化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811678A (zh) * 2005-01-24 2006-08-02 乐金电子(惠州)有限公司 内置有触摸屏的终端机的画线方法
CN1870052A (zh) * 2005-07-08 2006-11-29 天津大学 基于压感笔等装置的三维毛笔模型与仿真方法
CN101308578A (zh) * 2008-06-20 2008-11-19 华南理工大学 一种手写汉字美化方法
CN101393645A (zh) * 2008-09-12 2009-03-25 浙江大学 一种手写体汉字的计算机生成与美化方法

Also Published As

Publication number Publication date
CN101699516A (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
CN101699516B (zh) 一种手写汉字美化的笔画渲染方法
CN101699518B (zh) 一种基于轨迹分析的手写汉字的美化方法
US9020266B2 (en) Methods and devices for processing handwriting input
US5287417A (en) Method and system for recognizing a graphic object&#39;s shape, line style, and fill pattern in a pen environment
US20130136377A1 (en) Method and apparatus for beautifying handwritten input
CN102436348B (zh) 一种基于力信息的毛笔书法表达方法
CN102289838B (zh) 一种由书法汉字图像生成其动态书写动画的方法
CN104346091B (zh) 笔迹的显示方法和装置
CN101639942A (zh) 一种用于手写汉字的美化方法
Herold et al. Speedseg: A technique for segmenting pen strokes using pen speed
CN105488544A (zh) 一种描红临摹笔迹识别的方法及系统
CN107622710A (zh) 数字化书写练习方法及系统
CN102496176A (zh) 一种基于力信息的钢笔书法表达方法
CN106843650A (zh) 一种触摸屏一体机的触摸识别方法及系统
CN108280864A (zh) 一种用于优化动态显示手写电子签名过程的方法
CN102999321A (zh) 毛笔电子画刷设置装置和毛笔电子画刷
CN101393606B (zh) 一种基于可视化的手写笔迹鉴定方法
CN102681745A (zh) 手写输入系统及用户终端
CN104461315A (zh) 一种实现笔锋效果的手写输入方法
CN101699517B (zh) 一种手写汉字美化的骨架变换方法
CN109857322A (zh) 一种基于安卓的画笔宽度控制方法和装置
CN105320390A (zh) 基于电磁白板的双人手写识别方法、装置及电磁笔
CN113590000B (zh) 笔迹处理方法、笔迹处理装置、存储介质
CN102013109B (zh) 手写汉字行草风格的美化方法和装置
CN104268915A (zh) 一种手写汉字的实时轮廓美化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant