发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种实时手写笔迹的美化方法及系统,用于解决现有技术中手写笔迹无法简便的体现个性化特点的问题。
为实现上述目的及其他相关目的,本发明提供一种实时手写笔迹的美化方法,应用于具有轨迹输入装置的电子设备中,其至少包括:1)当检测到所述轨迹输入装置进行轨迹输入时,实时捕获所述轨迹上的轨迹点的坐标和时间;2)从所捕获的第二个轨迹点开始,基于所捕获的第n个所述轨迹点、及此前所捕获的至少一个所述轨迹点的坐标和时间,取得用于表征第n个所述轨迹点的笔迹尺寸的特征信息;并将所取得的特征信息转换成用于确定所述笔迹尺寸的至少一个分量;以及将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔 迹尺寸;其中,n为大于1的整数;3)将第n个所述轨迹点按所述笔迹尺寸进行美化处理,以得到美化后的手写笔迹。
优选地,所述特征信息包括:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、手写输入至所述轨迹点时的偏转角中的一种或多种。
优选地,所述步骤2)中取得第n个所述轨迹点的方向角的方式包括:将第n个所述轨迹点与此前所捕获的一个所述轨迹点构成一个向量,并取得所述向量的方向角,将所述向量的方向角作为第n个所述轨迹点的方向角。
优选地,所述步骤2)中取得第n个所述轨迹点的方向角的方式还包括:从此前所捕获的各轨迹点中搜索两个相邻的轨迹点,其中一个轨迹点与第n个所述轨迹点的位移大于预设的阈值,另一个轨迹点与第n个所述轨迹点的位移小于所述阈值,则选取使位移大于所述阈值所对应的轨迹点,并利用第n个所述轨迹点与所选取的所述轨迹点所构成的向量,来取得第n个所述轨迹点的方向角。
优选地,所述步骤2)中将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量的方式包括:基于预设的方向角的范围与方向角对速度的灵敏度的影响因子的对应关系,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子;以及利用公式 确定第n个所述轨迹点的速度所对应的笔迹尺寸的分量;其中,k1,k2为调和参数,fv(θn)为影响因子,为第n个所述轨迹点的速度所对应的笔迹尺寸的分量。
优选地,所述步骤2)中将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量的方式包括:利用公式确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量;其中,k3为调和因子,an为第n个所述轨迹点的加速度。
优选地,所述步骤2)中将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量的方式包括:利用公式确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量;其中,k4为参数,为第n个所述轨迹点的偏转角。
优选地,在所述步骤2)中,利用所述分量来确定所述笔迹尺寸的方式包括:将所转换 的用于确定笔迹尺寸的各分量进行加权取和、或取和加权运算,得到所述轨迹点所对应的笔迹尺寸。
优选地,所述步骤2)还包括:取得第n个所述轨迹点的笔迹尺寸与预设时间段内的第a个所述轨迹点的笔迹尺寸的变化量,并将所述变化量与允许突变的变化量进行比较,若大于允许突变的变化量,则确定第n个所述轨迹点的笔迹尺寸为允许突变的变化量与第a个所述轨迹点的笔迹尺寸之和,反之若小于允许突变的变化量,则将所取得的第n个所述轨迹点的笔迹尺寸确定为第n个所述轨迹点的笔迹尺寸;其中,1≦a≦n,a为整数。
优选地,所述允许突变的变化量由公式来确定;其中,k5是抑制因子参数,λ是输入设备像素密度适应因子,tn和tn-1分别为第n个轨迹点和第(n-1)个轨迹点的时间。
优选地,在执行所述步骤2)之前,所述方法还包括:将所捕获的各所述轨迹点进行平滑处理,并得到平滑处理后的轨迹点的步骤;以便将所取得新的轨迹点按照步骤2)依次进行轨迹点的笔迹处理。
优选地,所述步骤3)还包括:基于相邻的所述轨迹点的笔迹尺寸的平均值,利用插值算法将相邻的所述轨迹点之间的点按所述平均值进行填充,以得到连续的手写笔迹。
优选地,所述步骤3)还包括:将所述手写笔迹按预先选取的笔迹模式进行美化处理。
优选地,所述步骤3)还包括:基于笔迹浓度与所述轨迹点的速度成反比的关系,将第n个所述轨迹点按所述笔迹尺寸及所述笔迹浓度进行美化处理。
基于上述目的,本发明还提供一种电子设备,其至少包括:轨迹输入装置;捕获模块,用于检测到所述轨迹输入装置输入轨迹时,实时捕获所述轨迹上的轨迹点的坐标和时间;笔迹处理模块,用于从所捕获的第二个轨迹点开始,基于所述捕获模块所捕获的第n个所述轨迹点、及此前所捕获的至少一个所述轨迹点的坐标和时间,取得用于表征第n个所述轨迹点的笔迹尺寸的特征信息;并将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量;以及将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔迹尺寸;其中,n为大于1的整数;美化处理模块,用于将所述笔迹处理模块所处理的第n个所述轨迹点,按所述笔迹尺寸进行美化处理,以得到美化后的手写笔迹;其中,所述捕获模块重复执行,直至检测到所述轨迹输入装置结束输入轨迹。
优选地,所述特征信息包括:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、手写输入至所述轨迹点时的偏转角中的一 种或多种。
优选地,所述笔迹处理模块包括:方向角处理子模块,用于将第n个所述轨迹点与此前所捕获的一个所述轨迹点构成一个向量,并取得所述向量的方向角,将所述向量的方向角作为第n个所述轨迹点的方向角。
优选地,所述方向角处理子模块还包括:从此前所捕获的各轨迹点中搜索两个相邻的轨迹点,其中一个轨迹点与第n个所述轨迹点的位移大于预设的阈值,另一个轨迹点与第n个所述轨迹点的位移小于所述阈值,则选取使位移大于所述阈值所对应的轨迹点,并利用第n个所述轨迹点与所选取的所述轨迹点所构成的向量,来取得第n个所述轨迹点的方向角。
优选地,所述笔迹处理模块包括:速度分量处理子模块,用于基于预设的方向角的范围与方向角对速度的灵敏度的影响因子的对应关系,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子;以及利用公式 确定第n个所述轨迹点的速度所对应的笔迹尺寸的分量;其中,k1,k2为调和参数,fv(θn)为第n个所述轨迹点的方向角对速度的灵敏度的影响因子,为第n个所述轨迹点的速度所对应的笔迹尺寸的分量。
优选地,所述笔迹处理模块包括:加速度分量处理子模块,用于利用公式 确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量;其中,k3为调和因子,an为第n个所述轨迹点的加速度。
优选地,所述笔迹处理模块包括:偏转角分量处理子模块,用于利用公式 确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量;其中,k4为参数,为第n个所述轨迹点的偏转角。
优选地,所述笔迹处理模块还包括:第一笔迹处理子模块,用于将所转换的用于确定笔迹尺寸的各分量进行加权取和、或取和加权运算,得到所述轨迹点所对应的笔迹尺寸。
优选地,所述笔迹处理模块还包括:第二笔迹处理子模块,用于取得第n个所述轨迹点的笔迹尺寸与预设时间段内的第a个所述轨迹点的笔迹尺寸的变化量,并将所述变化量与允许突变的变化量进行比较,若大于允许突变的变化量,则确定第n个所述轨迹点的笔迹尺寸为允许突变的变化量与第a个所述轨迹点的笔迹尺寸之和,反之若小于允许突变的变化量,则将所取得的第n个所述轨迹点的笔迹尺寸确定为第n个所述轨迹点的笔迹尺寸;其中,1 ≦a≦n,a为整数。
优选地,所述允许突变的变化量由公式来确定;其中,k5是抑制因子参数,λ是输入设备像素密度适应因子,tn和tn-1分别为第n个轨迹点和第(n-1)个轨迹点的时间。
优选地,所述美化系统还包括:与所述捕获模块和所述笔迹处理模块连接的平滑处理模块,用于将所捕获的各所述轨迹点进行平滑处理,并得到平滑处理后的轨迹点;以便所述笔迹处理模块将所取得新的轨迹点依次进行轨迹点的笔迹处理。
优选地,所述美化处理模块还用于基于相邻的所述轨迹点的笔迹尺寸的平均值,利用插值算法将相邻的所述轨迹点之间的点按所述平均值进行填充,以得到连续的手写笔迹。
优选地,所述美化处理模块还用于将所述笔迹尺寸按预先选取的笔迹模式进行显示。
优选地,所述美化处理模块还用于基于笔迹浓度与所述轨迹点的速度成反比的关系,将第n个所述轨迹点按所述笔迹尺寸及所述笔迹浓度进行美化处理。
如上所述,本发明的实时手写笔迹的美化方法及系电子设备,具有以下有益效果:利用实时捕获的轨迹点的坐标和时间取得各所述轨迹点的速度、加速度、方向角、偏转角等特征信息,这些特征信息能够反映手写输入的个性化笔迹,同时无需传感器等监测装置,大大降低了手写输入所需的硬件成本;同时,将所述特征信息转换成用于确定笔迹尺寸的至少一个分量,并将所述分量进行合并,以得到每一个轨迹点的笔迹尺寸,由此能够充分体现用户手写输入时的横、竖、撇、捺、点等各笔画的个性化笔锋尺寸;并通过对笔迹尺寸进行美化处理,来提供具有个性化笔体的文字;另外,经过对人们书写习惯的大量研究,针对不同特征信息采用不同的公式以得到相应的分量,并将各分量进行权值计算,能够提供更为准确的笔迹尺寸;还有,按照所取得的笔迹尺寸将相邻两轨迹点之间进行美化处理,能够形成流畅的手写笔迹;此外,根据速度和墨迹的浓度成反比的关系,来显示笔迹的浓淡,能够更为生动的表现手写笔迹的笔锋和拐点。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1所示,本方提供一种实时手写笔迹的美化方法。所述美化方法主要由美化系统来执行。所述美化方法适用于具有鼠标、触摸屏等轨迹输入装置的电子设备中。所述电子设备包括但不限于:手机、平板电脑等。
在步骤S1中,所述美化系统检测到所述轨迹输入装置进行轨迹输入时,实时捕获所述轨迹上的轨迹点的坐标和时间。
具体地,所述美化系统监测用户利用轨迹输入装置在所述电子设备所提供的手写区域进行手写输入的开始动作,并实时捕获所述轨迹输入装置在书写过程中经过的轨迹点的坐标和时间。
例如,所述美化系统监测用户在所述手写区域按下鼠标的动作,并将该动作作为进行手写输入的开始动作,接着,按照预设的时间间隔,实时捕获鼠标在所述手写区域经过的轨迹点的坐标和时间。
在步骤S2中,所述美化系统从所捕获的第二个轨迹点开始,基于所捕获的第n个所述轨迹点、及此前所捕获的至少一个所述轨迹点的坐标和时间,取得用于表征第n个所述轨迹点的笔迹尺寸的特征信息;并将所取得的特征信息转换成用于确定所述笔迹尺寸的至少一个分量;以及将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔迹尺寸;其中,n为大于1的整数。其中,所述轨迹点的特征信息包括任何能够帮助确定所述轨迹点的笔迹尺寸的信息,例如,根据对书写习惯的统计,书写速度越快,书写的笔迹就越细,则手写输入至所述轨迹点时的速度属于所述特征信息;又如,笔画的弯折处的笔迹较直行的笔迹更粗,则手写输入至所述轨迹点时的偏转角属于所述特征信息等。由此,所述特征信息包括但不限于:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、手写输入至所述轨迹点时的偏转角中的一种或多种。
具体地,所述美化系统捕获第一个所述轨迹点时,仅记录所述轨迹点的坐标和时间,从捕获第二个所述轨迹点开始,利用预设的公式对所捕获的轨迹点的坐标和时间进行数学计算, 以得到手写输入至所述轨迹点时的速度、加速度、方向角、偏转角等特征信息。其中,第一个所述轨迹点的特征信息为预设值。
本实施例中,所述美化系统取得第n个所述轨迹点的速度的方式为:基于第n个所述轨迹点的坐标和此前所捕获的一个轨迹点的坐标来计算两个轨迹点之间的位移,再根据所述位移与捕获该两个轨迹点时的时间之差的比值,来取得第n个所述轨迹点的速度。
例如,所述美化系统利用公式(1)来取得第n个所述轨迹点的速度。
其中,vn表示所捕获的手写输入至第n个所述轨迹点的速度,(xn,yn)和(xn-1,yn-1)分别为捕获第n个和第n-1个轨迹点时的坐标,tn和tn-1分别为捕获第n和第(n-1)个轨迹点的时间。
若当前所捕获的轨迹点为第n个轨迹点,则速度vn为所述美化系统所取得的当前所述轨迹点的速度。
所述美化系统取得第n个所述轨迹点的加速度的方式为:利用已取得的第n个所述轨迹点的速度和此前所捕获的一个轨迹点的速度的差值与捕获该两个轨迹点时的时间之差的比值,来取得第n个所述轨迹点的加速度。
例如,所述美化系统利用公式(2)来取得第n个所述轨迹点的加速度。
其中,an为第n个轨迹点的加速度,vn和vn-1分别是基于公式(1)所计算得到的手写输入至第n个轨迹点和第(n-1)个轨迹点时的速度,tn和tn-1分别为捕获第n个轨迹点和第n-1个轨迹点时的时间。
若当前所捕获的轨迹点为第n个轨迹点,则加速度an为所述美化系统所取得的当前所述轨迹点的加速度。
所述美化系统取得第n个所述轨迹点的方向角的方式为:将第n个所述轨迹点与此前所捕获的一个所述轨迹点构成一个向量,并取得所述向量的方向角,将所述向量的方向角作为第n个所述轨迹点的方向角。
例如,所述美化系统基于公式(3)来取得第n个所述轨迹点的方向角。
其中,θn为第n个轨迹点的方向角,(xn,yn)和(xn-1,yn-1)分别为捕获第n个和第n-k个轨迹点时的坐标,其中,1≤k≤n,n和k为整数。
若当前所捕获的轨迹点为第n个轨迹点,则方向角θn为所述美化系统所取得的当前所述轨迹点的方向角。
需要说明的是,由于受到噪声的影响,若两个轨迹点距离太近,两个轨迹点所构成的向量的方向可能过于局限,实际上并不能反映笔画的真正方向。
所以优选地,为了准确的选取一条能够准确反映笔画方向向量,所述美化系统在取得所述方向角之前,先从此前所捕获的各轨迹点中确定一个轨迹点,以便与第n个所述轨迹点构成一个向量,进而计算出手写输入至第n个所述轨迹点的方向角。
具体地,当此前所捕获的各轨迹点中存在两个相邻的轨迹点,使得其中一个轨迹点与第n个所述轨迹点的位移大于预设的阈值,另一个轨迹点与第n个所述轨迹点的位移小于所述阈值,则所述美化系统选取使位移大于所述阈值所对应的轨迹点,并利用第n个所述轨迹点与所选取的所述轨迹点所构成的向量,来取得第n个所述轨迹点的方向角。
例如,所述美化系统基于公式(4)来确定此前所捕获的一个轨迹点。
其中,所述th为阈值,(xn,yn)、(xn-k,yn-k)、(xn-k+1,yn-k+1)分别为第n个、第(n-k)个和第(n-k+1)个所述轨迹点的坐标。
若当前的轨迹点为第n个轨迹点,则所述美化系统基于公式(4)选取此前所捕获的第(n-k)个轨迹点,并利用公式(3)确定第n个轨迹点和第(n-k)个轨迹点所构成的向量的方向角,即第n个轨迹点的方向角。
所述美化系统取得第n个所述轨迹点的偏转角的方式为:基于第n个所述轨迹点的方向角和此前所捕获的一个轨迹点的方向角的差值来取得第n个所述轨迹点的偏转角。
例如,所述美化系统基于公式(5)来取得第n个所述轨迹点的偏转角。
其中,θn、θn-1分别为第n个、第(n-1)个轨迹点的方向角,为第n个轨迹点的偏转角。
若当前所捕获的所述轨迹点为第n个轨迹点,则偏转角为所述美化系统所取得的第n个所述轨迹点的偏转角。
接着,所述美化系统将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量,并利用所述分量来确定所述笔迹尺寸。其中,所述笔迹尺寸可以是笔迹宽度。
具体地,所述美化系统所确定的特征信息可以只包含速度、加速度、方向角、偏转角中的一个,也可以包含速度、加速度、方向角、偏转角中的几个或全部。所述美化系统利用预设的公式,将所取得的特征信息转换成用于确定相应笔迹尺寸的至少一个分量,并利用所述分量来确定所述笔迹尺寸。
本实施例中,所述美化系统所取得的特征信息包括:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、及手写输入至所述轨迹点时的偏转角,则利用所取得的特征信息来确定至少一个所述分量。
首先,所述美化系统基于预设的方向角的范围与方向角对速度的灵敏度的影响因子的对应关系,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子fv(θn)。其中,预设的方向角的范围见下表:
例如,所述美化系统取得第n个所述轨迹点的方向角为180°,则通过对照上表的角度范围,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子fv(θn)为0.9。
接着所述美化系统利用公式(6)确定第n个所述轨迹点的速度所对应的笔迹尺寸的分量
其中,k1,k2为调和参数,可根据用户的书写习惯和偏好进行调整,也可是固定常数,优选地,k1的取值范围在0.1~0.5,k2的取值范围在0.3~1.5,fv(θn)是第n个所述轨迹点的 方向角对速度的灵敏度的影响因子,vn为所述美化系统取得的第n个所述轨迹点的速度。
另外,所述美化系统利用公式(7)确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量
其中,k3为调和因子,优选地,k3的取值范围在0.2~2,an为所述美化系统取得的第n个所述轨迹点的加速度。
还有,所述美化系统利用公式(8)确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量
其中,k4为参数,k4的优选取值范围在1~10,为所述美化系统取得的第n个所述轨迹点的偏转角。
接着,所述美化系统将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔迹尺寸。
本实施例中,所述美化系统将上述所转换的用于确定笔迹尺寸的各分量进行加权取和、或取和加权等运算,以得到所述轨迹点所对应的笔迹尺寸。
例如,所述美化系统利用公式(9)来确定所述轨迹点所对应的笔迹尺寸Rn。
其中,k为权值。
需要说明的是,本领域技术人员应该理解,当所述美化系统所确定的分量只有一个,则根据所述公式(9)也能确定所述轨迹点所对应的笔迹尺寸Rn。
优选地,所述步骤S2还对于变化幅度过大的笔迹尺寸进行了优化处理,以便手写输入的笔迹圆滑。
具体地,所述美化系统取得第n个所述轨迹点的笔迹尺寸与预设时间段内的第a个所述轨迹点的笔迹尺寸的变化量,并将所述变化量与允许突变的变化量进行比较,若大于允许突变的变化量,则确定第n个所述轨迹点的笔迹尺寸为允许突变的变化量与第a个所述轨迹点的笔迹尺寸之和,反之若小于允许突变的变化量,则将所取得的第n个所述轨迹点的笔迹尺寸确定为第n个所述轨迹点的笔迹尺寸。其中,1≦a≦n,a为整数;允许突变的变化量Δwmax 可以是预设的固定值,优选地,所述允许突变的变化量Δwmax由公式(10)来确定。
其中,k5是抑制因子参数,λ是输入设备像素密度适应因子,tn和tn-1分别为第n个轨迹点和第(n-1)个轨迹点的时间。优选地,k5取值范围为0.1~1.0。
本实施例中,所述美化系统利用上述公式(9)得到第n个所述轨迹点所对应的笔迹尺寸,接着,利用公式(11)来确定第n个所述轨迹点的笔迹尺寸与此前所捕获的一个轨迹点的笔迹尺寸的变化幅度Δw。
Δw=Rn-Rn-1 (11)
其中,Rn为第n个轨迹点的笔迹尺寸,Rn-1为第(n-1)个轨迹点的笔迹尺寸。若第n个所述轨迹点的笔迹尺寸为Rn,则Δw用来表示第n个所述轨迹点的笔迹尺寸的变化幅度,接着,所述美化系统通过比较,若确定变化幅度Δw大于允许突变的变化量Δwmax,则确定第n个所述轨迹点的笔迹尺寸为(Rn-1+Δw),反之,若确定变化幅度Δw不大于允许突变的变化量Δwmax,则确定第n个所述轨迹点的笔迹尺寸为Rn。
在步骤S3中,所述美化系统将第n个所述轨迹点以所述笔迹尺寸进行美化处理,以实时得到美化后的手写笔迹。
具体地,所述美化系统将第n个所述轨迹点及其附近的所述笔迹尺寸范围内的其他点显示为第n个所述轨迹点所对应的手写笔迹。
例如,第n个所述轨迹点的笔迹尺寸为:笔迹宽度为15个像素点,则所述美化系统以第n个所述轨迹点为中心,宽度为15个像素点范围内的像素点显示为第n个所述轨迹点所对应的手写笔迹。
优选地,所述美化系统基于相邻的所述轨迹点的笔迹尺寸的平均值,利用插值算法将相邻的所述轨迹点之间的点按所述平均值进行填充,以得到连续的手写笔迹。其中,所述插值算法包括但不限于:DDA插值算法(数值微分插值算法)。
例如,相邻的轨迹点pn和pn-1的笔迹宽度分别是13和15个像素,则所述美化系统将该两个轨迹点的笔迹宽度取平均值,得到14个像素,并利用DDA插值算法将轨迹点pn和pn-1之间的点按14个像素的笔迹宽度进行填充,由此来得到连续的手写笔迹。
更为优选地,所述美化系统将所述手写笔迹按预先选取的笔迹模式进行美化处理。其中, 所述笔刷模式包括但不限于:普通笔刷、立体笔刷、缺墨笔刷、荧光笔刷、细笔刷、阴影笔刷。图2显示为笔刷模式的效果。
例如,预先选取的笔刷模式为立体笔刷,则所述美化系统沿着所述轨迹点所对应的手写笔迹在底层渲染一层阴影,再将所述手写笔迹往左上偏移一段距离,在上层画上前景笔迹。
更为优选地,所述美化系统基于笔迹浓度与所述轨迹点的速度成反比的关系,将第n个所述轨迹点按所述笔迹尺寸及所述笔迹浓度进行美化处理。
例如,所述美化系统利用公式(12)来确定第n个所述轨迹点的笔迹浓度,并按预先选取的笔刷模式将所述轨迹点按所述笔迹尺寸及所述笔迹浓度显示在屏幕上。
其中,c为调和参数,vn为第n个所述轨迹点的速度,fn为第n个所述轨迹点的笔迹浓度。
需要说明的是,所述美化系统重复执行步骤S1至S3,直至监测到手写输入结束。
具体地,所述美化系统重复步骤S1至S3来实时美化用户利用所述轨迹输入装置输入的手写轨迹,当检测到所述轨迹输入装置结束手写输入时,所述美化系统才结束手写轨迹的美化处理。
例如,所述美化系统监测到鼠标抬起的动作时,确认鼠标结束手写输入,则所述美化系统结束对鼠标所描绘的轨迹进行美化处理。
作为一种优选方案,所述方法在执行步骤S2之前,还执行将所捕获的各所述轨迹点进行平滑处理,并得到平滑处理后的轨迹点的步骤;以便将所取得新的轨迹点按照步骤S2依次进行轨迹点的美化处理。其中,将所捕获的各所述轨迹点进行平滑处理的方式包括但不限于:利用贝塞尔曲线拟合的方式进行平滑处理。
例如,所述美化系统提取三个轨迹点:第n个轨迹点P2,此前第一个轨迹点P1,此前第二个轨迹点P0。将这三个轨迹点作为二阶贝塞尔曲线的控制点,并对该三个轨迹点所形成的轨迹进行贝塞尔插值拟合,以得到平滑处理后的轨迹点的坐标的集合。方程如下:
P(t)=(1-t)2p0+2t(1-t)P1+t2P2
其中,t代表拟合后的轨迹点,P(t)表示拟合后的轨迹点的坐标的集合。
接着,所述美化系统按照缩放后的轨迹点与平滑处理后的轨迹点在数量上的比例关系,将缩放后的各轨迹点的时间进行均分,以取得平滑处理后的轨迹中的各轨迹点的时间。
接着,所述美化系统按步骤S2依次对平滑处理后所取得的各轨迹点进行美化处理。
需要说明的是,本领域技术人员应该理解,所述美化系统依次对平滑处理后所取得的各 轨迹点进行美化处理的方式与前述步骤S2相同或相似,在此不再详述。
如图3所示,本发明还提供一种电子设备1。所述电子设备1包括:轨迹输入装置14、捕获模块11、笔迹处理模块12及美化模块13。
所述轨迹输入装置14包括任何能够手动输入轨迹的装置,其包括但不限于:鼠标、触屏笔、触摸屏等。
所述捕获模块11用于检测到所述轨迹输入装置14输入轨迹时,实时捕获所述轨迹上的轨迹点的坐标和时间。
具体地,所述捕获模块11监测用户利用所述轨迹输入装置14在所述电子设备1所提供的手写区域进行手写输入的开始动作,并实时捕获所述手写工具在书写过程中经过的轨迹点的坐标和时间。
例如,所述捕获模块11监测用户在手写区域按下鼠标的动作,并将该动作作为进行手写输入的开始动作,接着,按照预设的时间间隔,实时捕获鼠标在手写区域经过的位置的坐标和时间。
所述笔迹处理模块12用于从捕获第二个所述轨迹点开始,基于所述捕获模块11所捕获的第n个所述轨迹点、及此前所捕获的至少一个所述轨迹点的坐标和时间,取得用于表征第n个所述轨迹点的笔迹尺寸的特征信息;并将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量;以及将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔迹尺寸;其中,n为大于1的整数。其中,所述轨迹点的特征信息包括任何能够帮助确定所述轨迹点的笔迹尺寸的信息,例如,根据对书写习惯的统计,书写速度越快,书写的笔迹就越细,则手写输入至所述轨迹点时的速度属于所述特征信息;又如,笔画的弯折处的笔迹较直行的笔迹更粗,则手写输入至所述轨迹点时的偏转角属于所述特征信息等。由此,所述特征信息包括但不限于:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、手写输入至所述轨迹点时的偏转角中的一种或多种。
具体地,所述笔迹处理模块12捕获第一个所述轨迹点时,仅记录所述轨迹点的坐标和时间,从捕获第二个所述轨迹点开始,利用预设的公式对所捕获的轨迹点的坐标和时间进行数学计算,以得到手写输入至所述轨迹点时的速度、加速度、方向角、偏转角等。其中,第一个所述轨迹点的特征信息可以为预设值。
本实施例中,如图4所示,所述笔迹处理模块12包括:速度处理子模块122、加速度处理子模块121、方向角处理子模块123和偏转角处理子模块124。
所述速度处理子模块122用于基于第n个所述轨迹点的坐标和此前所捕获的一个轨迹点 的坐标来计算两个轨迹点之间的位移,再根据所述位移与捕获该两个轨迹点时的时间之差的比值,来取得第n个所述轨迹点的速度。
例如,所述速度处理子模块122利用公式(1)来取得第n个所述轨迹点的速度。
其中,vn表示所捕获的手写输入至第n个所述轨迹点的速度,(xn,yn)和(xn-1,yn-1)分别为捕获第n个和第n-1个轨迹点时的坐标,tn和tn-1分别为捕获第n和第(n-1)个轨迹点的时间。
若当前所捕获的轨迹点为第n个轨迹点,则速度vn为所述速度处理子模块122所取得的当前所述轨迹点的速度。
所述加速度处理子模块121用于利用所述速度处理子模块122已取得的第n个所述轨迹点的速度和此前所捕获的一个轨迹点的速度的差值与捕获该两个轨迹点时的时间之差的比值,来取得第n个所述轨迹点的加速度。
例如,所述加速度处理子模块121利用公式(2)来取得第n个所述轨迹点的加速度。
其中,an为第n个轨迹点的加速度,vn和vn-1分别是基于公式(1)所计算得到的手写输入至第n个轨迹点和第(n-1)个轨迹点时的速度,tn和tn-1分别为捕获第n个轨迹点和第n-1个轨迹点时的时间。
若当前所捕获的轨迹点为第n个轨迹点,则加速度an为所述加速度处理子模块121所取得的当前所述轨迹点的加速度。
所述方向角处理子模块123用于将第n个所述轨迹点与此前所捕获的一个所述轨迹点构成一个向量,并取得所述向量的方向角,将所述向量的方向角作为第n个所述轨迹点的方向角。
例如,所述方向角处理子模块123基于公式(3)来取得第n个所述轨迹点的方向角。
其中,θn为第n个轨迹点的方向角,(xn,yn)和(xn-1,yn-1)分别为捕获第n个和第n-k个轨迹点时的坐标,其中,1≤k≤n,n和k为整数。
若当前所捕获的轨迹点为第n个轨迹点,则方向角θn为所述方向角处理子模块123所取得的当前所述轨迹点的方向角。
需要说明的是,由于受到噪声的影响,若两个轨迹点距离太近,两个轨迹点所构成的向量的方向可能过于局限,实际上并不能反映笔画的真正方向。
所以优选地,为了准确的选取一条能够准确反映笔画方向向量,所述方向角处理子模块123在取得所述方向角之前,先从此前所捕获的各轨迹点中确定一个轨迹点,以便与第n个所述轨迹点构成一个向量,进而计算出手写输入至第n个所述轨迹点的方向角。
具体地,当此前所捕获的各轨迹点中存在两个相邻的轨迹点,使得其中一个轨迹点与第n个所述轨迹点的位移大于预设的阈值,另一个轨迹点与第n个所述轨迹点的位移小于所述阈值,则所述方向角处理子模块123选取使位移大于所述阈值所对应的轨迹点,并利用第n个所述轨迹点与所选取的所述轨迹点所构成的向量,来取得第n个所述轨迹点的方向角。
例如,所述方向角处理子模块123基于公式(4)来确定此前所捕获的一个轨迹点。
其中,所述th为阈值,(xn,yn)、(xn-k,yn-k)、(xn-k+1,yn-k+1)分别为第n个、第(n-k)个和第(n-k+1)个所述轨迹点的坐标。
若当前的轨迹点为第n个轨迹点,则所述方向角处理子模块123基于公式(4)选取此前所捕获的第(n-k)个轨迹点,并利用公式(3)确定第n个轨迹点和第(n-k)个轨迹点所构成的向量的方向角,即第n个轨迹点的方向角。
所述偏转角处理子模块124用于基于所述方向角处理子模块123所取得的第n个所述轨迹点的方向角和此前所捕获的一个轨迹点的方向角的差值来取得第n个所述轨迹点的偏转角。
例如,所述偏转角处理子模块124基于公式(5)来取得第n个所述轨迹点的偏转角。
其中,θn、θn-1分别为第n个、第(n-1)个轨迹点的方向角,为第n个轨迹点的偏转角。
若第n个所述轨迹点为第n个轨迹点,则偏转角为所述偏转角处理子模块124所取得的第n个所述轨迹点的偏转角。
接着,所述笔迹处理模块12将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量,并利用所述分量来确定所述笔迹尺寸。其中,所述笔迹尺寸可以是笔迹宽度。
具体地,所述笔迹处理模块12所确定的特征信息可以只包含速度、加速度、方向角、偏转角中的一个,也可以包含速度、加速度、方向角、偏转角中的几个或全部。所述笔迹处理模块12利用预设的公式,将所取得的特征信息转换成用于确定相应笔迹尺寸的至少一个分量,并利用所述分量来确定所述笔迹尺寸。
本实施例中,如图5所示,所述笔迹处理模块12还包括:速度分量处理子模块126、加速度分量处理子模块125和偏转角分量处理子模块127,所述笔迹处理模块12所取得的特征信息包括:手写输入至所述轨迹点时的速度、手写输入至所述轨迹点时的加速度、手写输入至所述轨迹点时的方向角、及手写输入至所述轨迹点时的偏转角,则所述速度分量处理子模块126、加速度分量处理子模块125和偏转角分量处理子模块127来确定各自的分量。
首先,所述速度分量处理子模块126先用于基于预设的方向角的范围与方向角对速度的灵敏度的影响因子的对应关系,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子fv(θn)。其中,预设的方向角的范围见下表:
例如,所述速度分量处理子模块126取得第n个所述轨迹点的方向角为180°,则通过对照上表的角度范围,来确定第n个所述轨迹点的方向角对速度的灵敏度的影响因子fv(θn)为0.9。
接着,所述速度分量处理子模块126利用公式(6)确定第n个所述轨迹点的速度所对应的笔迹尺寸的分量
其中,k1,k2为调和参数,可根据用户的书写习惯和偏好进行调整,也可是固定常数,优选地,k1的取值范围在0.1~0.5,k2的取值范围在0.3~1.5,fv(θn)是第n个所述轨迹点的方向角对速度的灵敏度的影响因子,vn为所述速度处理子模块122取得的第n个所述轨迹点 的速度。
另外,所述加速度分量处理子模块125用于利用公式(7)确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量
其中,k3为调和因子,优选地,k3的取值范围在0.2~2,an为所述加速度处理子模块122121取得的第n个所述轨迹点的加速度。
还有,所述偏转角分量处理子模块127用于利用公式(8)确定第n个所述轨迹点的加速度所对应的笔迹尺寸的分量
其中,k4为参数,k4的优选取值范围在1~10,为所述偏转角处理子模块124取得的第n个所述轨迹点的偏转角。
接着,所述笔迹处理模块12将各所述分量进行合并,以取得第n个所述轨迹点所对应的所述笔迹尺寸。
本实施例中,所述笔迹处理模块12还包括:第一笔迹处理子模块128。
所述第一笔迹处理子模块128用于将上述所转换的用于确定笔迹尺寸的各分量进行加权取和、或取和加权等运算,以得到所述轨迹点所对应的笔迹尺寸。
例如,所述第一笔迹处理子模块128利用公式(9)来确定所述轨迹点所对应的笔迹尺寸Rn。
其中,k为权值。
需要说明的是,本领域技术人员应该理解,当所述笔迹处理模块12所确定的分量只有一个,则根据所述公式(9)也能确定所述轨迹点所对应的笔迹尺寸Rn。
优选地,所述笔迹处理模块12还包括第二笔迹处理子模块129。
所述第二笔迹处理子模块129还对于变化幅度过大的笔迹尺寸进行了优化处理,以便手写输入的笔迹圆滑。
具体地,所述第二笔迹处理子模块129用于取得第n个所述轨迹点的笔迹尺寸与预设时间段内的第a个所述轨迹点的笔迹尺寸的变化量,并将所述变化量与允许突变的变化量进行 比较,若大于允许突变的变化量,则确定第n个所述轨迹点的笔迹尺寸为允许突变的变化量与第a个所述轨迹点的笔迹尺寸之和,反之若小于允许突变的变化量,则将所取得的第n个所述轨迹点的笔迹尺寸确定为第n个所述轨迹点的笔迹尺寸。其中,1≦a≦n,a为整数;允许突变的变化量Δwmax可以是预设的固定值,优选地,所述允许突变的变化量Δwmax由公式(10)来确定。
其中,k5是抑制因子参数,λ是输入设备像素密度适应因子,tn和tn-1分别为第n个轨迹点和第(n-1)个轨迹点的时间。优选地,k5取值范围为0.1~1.0。
本实施例中,所述第二笔迹处理子模块129利用公式(11)来确定第n个所述轨迹点的笔迹尺寸与此前所捕获的一个轨迹点的笔迹尺寸的变化幅度Δw。
Δw=Rn-Rn-1 (11)
其中,Rn为第n个轨迹点的笔迹尺寸,Rn-1为第(n-1)个轨迹点的笔迹尺寸。若第n个所述轨迹点的笔迹尺寸为Rn,则Δw用来表示第n个所述轨迹点的笔迹尺寸的变化幅度,接着,所述第二笔迹处理子模块129通过比较,若确定变化幅度Δw大于允许突变的变化量Δwmax,则确定第n个所述轨迹点的笔迹尺寸为(Rn-1+Δw),反之,若确定变化幅度Δw不大于允许突变的变化量Δwmax,则确定第n个所述轨迹点的笔迹尺寸为Rn。
所述美化处理模块13用于用于将所述笔迹处理模块所处理的第n个所述轨迹点,按所述笔迹尺寸进行美化处理,以得到美化后的手写笔迹。
具体地,所述美化处理模块13将第n个所述轨迹点及其附近的所述笔迹尺寸范围内的其他点显示为第n个所述轨迹点所对应的手写笔迹。
例如,第n个所述轨迹点的笔迹尺寸为:笔迹宽度为15个像素点,则所述美化处理模块13以第n个所述轨迹点为中心,宽度为15个像素点范围内的像素点显示为第n个所述轨迹点所对应的手写笔迹。
优选地,所述美化处理模块13还用于基于相邻的所述轨迹点的笔迹尺寸的平均值,利用插值算法将相邻的所述轨迹点之间的点按所述平均值进行填充,以得到连续的手写笔迹。其中,所述插值算法包括但不限于:DDA插值算法(数值微分插值算法)。
例如,相邻的轨迹点pn和pn-1的笔迹宽度分别是13和15个像素,则所述美化处理模块 13将该两个轨迹点的笔迹宽度取平均值,得到14个像素,并利用DDA插值算法将轨迹点pn和pn-1之间的点按14个像素的笔迹宽度进行填充,由此来得到连续的手写笔迹。
更为优选地,所述美化处理模块13还用于将所述手写笔迹按预先选取的笔迹模式进行美化处理。其中,所述笔刷模式包括但不限于:普通笔刷、立体笔刷、缺墨笔刷、荧光笔刷、细笔刷、阴影笔刷。图2显示为笔刷模式的效果。
例如,预先选取的笔刷模式为立体笔刷,则所述美化处理模块13沿着所述轨迹点所对应的手写笔迹在底层渲染一层阴影,再将所述手写笔迹往左上偏移一段距离,在上层画上前景笔迹。
更为优选地,所述美化处理模块13还用于基于笔迹浓度与所述轨迹点的速度成反比的关系,将第n个所述轨迹点按所述笔迹尺寸及所述笔迹浓度进行美化处理。
例如,所述美化处理模块13利用公式(12)来确定第n个所述轨迹点的笔迹浓度,并按预先选取的笔刷模式将所述轨迹点按所述笔迹尺寸及所述笔迹浓度显示在屏幕上。
其中,c为调和参数,vn为第n个所述轨迹点的速度,fn为第n个所述轨迹点的笔迹浓度。
需要说明的是,所述捕获模块11重复执行,直至检测到所述轨迹输入装置14结束输入轨迹。。
具体地,所述捕获模块11不断地捕获所述轨迹输入装置14所输入的轨迹点,并由所述笔迹处理模块12实时将所捕获的轨迹点进行笔迹尺寸的修改,再由所述美化处理模块13将所捕获的轨迹点按所述笔迹尺寸进行美化处理,直至所述捕获模块11监测到所述轨迹输入装置14结束手写输入时,所述电子设备才结束手写轨迹的美化处理。
例如,所述捕获模块11监测到鼠标抬起的动作时,确认鼠标结束手写输入,则所述笔迹处理模块12和所述美化处理模块13结束对鼠标所描绘的轨迹进行美化处理。
作为一种优选方案,所述电子设备1还包括:与所述捕获模块11和所述笔迹处理模块12连接的平滑处理模块(未予图示)。
平滑处理模块用于将所捕获的各所述轨迹点进行平滑处理,并得到平滑处理后的轨迹点;以便将所取得新的轨迹点按照所述笔迹处理模块12依次进行轨迹点的美化处理。其中,将所捕获的各所述轨迹点进行平滑处理的方式包括但不限于:利用贝塞尔曲线拟合的方式进行平滑处理。
例如,所述平滑处理模块提取三个轨迹点:第n个轨迹点P2,此前第一个轨迹点P1,此 前第二个轨迹点P0。将这三个轨迹点作为二阶贝塞尔曲线的控制点,并对该三个轨迹点所形成的轨迹进行贝塞尔插值拟合,以得到平滑处理后的轨迹点的坐标的集合。方程如下:
P(t)=(1-t)2P0+2t(1-t)P1+t2P2
其中,t代表拟合后的轨迹点,P(t)表示拟合后的轨迹点的坐标的集合。
接着,所述平滑处理模块按照缩放后的轨迹点与平滑处理后的轨迹点在数量上的比例关系,将缩放后的各轨迹点的时间进行均分,以取得平滑处理后的轨迹中的各轨迹点的时间。
接着,由所述笔迹处理模块12依次对平滑处理后所取得的各轨迹点进行美化处理。
需要说明的是,本领域技术人员应该理解,所述笔迹处理模块12依次对平滑处理后所取得的各轨迹点进行笔迹处理的方式与前述笔迹处理模块12基于所捕获的第n个所述轨迹点、及此前所捕获的至少一个所述轨迹点的坐标和时间,取得用于表征第n个所述轨迹点的笔迹尺寸的特征信息;并将所取得的特征信息转换成用于确定笔迹尺寸的至少一个分量;并利用所述分量来确定所述笔迹尺寸的方式相同或相似,在此不再详述。
所述电子设备1的工作过程如下:
从手写输入开始时起,由所述捕获模块11实时捕获所述轨迹输入装置14手写输入的轨迹点,并由所述平滑处理模块将所捕获的轨迹点进行平滑处理,以得到平滑处理后的轨迹点的坐标和时间,并按照所得到的各轨迹点的时间顺序,由所述笔迹处理模块12基于各轨迹点的坐标和时间依次提取特征信息,并按照预设的公式将特征信息转换成至少一个用于表征笔迹尺寸的分量,再将各分量进行取和加权处理,以得到每一个轨迹点所对应的笔迹尺寸,接着,由所述美化模块将每一个笔迹尺寸进行美化处理,以得到具有手写个性化风格的手写笔迹。其效果如图5所示。
综上所述,本发明的实时手写笔迹的美化方法及电子设备,利用实时捕获的轨迹点的坐标和时间取得各所述轨迹点的速度、加速度、方向角、偏转角等特征信息,这些特征信息能够反映手写输入的个性化笔迹,同时无需传感器等监测装置,大大降低了手写输入所需的硬件成本;同时,将所述特征信息转换成用于确定笔迹尺寸的至少一个分量,并将所述分量进行合并,以得到每一个轨迹点的笔迹尺寸,由此能够充分体现用户手写输入时的横、竖、撇、捺、点等各笔画的个性化笔锋尺寸;并通过对笔迹尺寸进行美化处理,来提供具有个性化笔体的文字;另外,经过对人们书写习惯的大量研究,针对不同特征信息采用不同的公式以得到相应的分量,并将各分量进行权值计算,能够提供更为准确的笔迹尺寸;还有,按照所取得的笔迹尺寸将相邻两轨迹点之间进行美化处理,能够形成流畅的手写笔迹;此外,根据速度和墨迹的浓度成反比的关系,来显示笔迹的浓淡,能够更为生动的表现手写笔迹的笔锋和 拐点。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。