一种手写原笔迹实现方法

文档序号:9471549阅读:1070来源:国知局
一种手写原笔迹实现方法
【技术领域】
[0001] 本发明设及一种手写笔迹实现方法。
【背景技术】
[0002] 在当今信息化建设大潮中,电子文档作为信息交换最主要的载体受到了广泛关 注,无论是军政部口还是商业机构,都在利用网络传递文档W保持着迅速、及时地沟通,全 数字化无纸办公已成为必然之势。如何使行文过程中的审批、决策等重要环节完全数字化 且不被篡改,并W通用文档格式流转存档,已成为目前急需解决的问题。如今手写输入板W 及触摸屏为解决键盘输入的局限性提供了硬件基础,手写输入能满足用户手写的随意性, 它根据用户在手写输入板上划动所产生的轨迹显示目标文字,具有很强的使用亲和力。
[0003]通常手写板W及触摸屏在手写过程中采集到的是一些离散的轨迹点,轨迹点是指 在手写过程中通过手写板或触摸屏等手写设备实时采集的手写轨迹上的离散点。对于运些 轨迹点通常要进行曲线拟合,即用连续的曲线近似地刻画或比拟平面上离散点组所表示的 坐标之间的函数关系,即用解析表达式逼近离散坐标数据。通常采用贝塞尔曲线的方法进 行轨迹拟合,贝塞尔曲线能够将离散点拟合为平滑的曲线,但如果在手写板或触摸屏将全 部的轨迹点收集结束后进行曲线的拟合将产生很大的延迟,故此需要将离散点分段进行拟 合,运样就产生了贝塞尔曲线间的平滑连接的问题。
[0004]在轨迹点拟合后通常采用笔刷贴图的方式进行原笔迹的擅染,笔刷贴图是指在手 写轨迹上通过插值的方式得到一系列连续的轨迹序列点,并在运些序列点上贴上笔刷,从 而得到手写效果。但是为了保证最终的笔迹是平滑的,笔刷贴图需要非常密集,运就使得原 笔迹的擅染效率低,增加对设备的CPUW及显卡的要求,同时增加了擅染延迟。

【发明内容】

[0005]针对上述现有技术中存在的缺陷,本发明提供一种手写原笔迹实现方法,解决现 有原笔迹处理方法对轨迹点进行分段曲线拟合过程中曲线间不能平滑连接的问题,W及在 原笔迹擅染过程中效率低的问题。
[0006]为达到上述目的,本发明所采用的技术方案如下:
[0007]一种手写原笔迹实现方法,包括步骤如下:
[0008]步骤一、实时采集手写过程中的轨迹点;
[0009]步骤二、根据采集到的轨迹点进行手写轨迹的拟合;
[0010] 步骤=、根据每个轨迹点的压力值W及笔锋处理后确定每个轨迹点处的笔宽值;
[0011] 步骤四、对步骤二中拟合得到的曲线,根据步骤=中所得的轨迹点处的笔宽值进 行笔刷填充,完成原笔迹的擅染。
[0012] 所述步骤二,采用中点贝塞尔连接方式进行轨迹的拟合,具体是将相邻两个轨迹 点的中点作为曲线的两个端点,将两个相邻中点之间的轨迹点作为曲线的控制点进行贝塞 尔曲线拟合。
[0013] 本发明提供的手写原笔迹的实现方法,在手写轨迹的拟合过程中对轨迹点采用中 点贝塞尔曲线拟合的方式,使得手写轨迹是几乎完全光滑的,从而提高了手写原笔迹的仿 真度与自然度;在原笔迹擅染过程中采取了笔刷填充的方式,降低了擅染过程中的计算量, 提高了擅染效率,从而降低了手写原笔迹的实现对CPUW及显卡的要求,并减少的擅染延 迟。
【附图说明】
[0014] 通过阅读参照W下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[0015] 图1为本发明所提供的方法流程图;
[0016] 图2为中点贝塞尔曲线拟合示意图;
[0017] 图3为大曲率曲线补点示意图;
[0018] 图4是本发明的轨迹拟合流程图;
[0019]图5是本发明采用笔刷填充方式擅染的轮廓图;
[0020] 图6是采用笔刷贴图方式擅染的轮廓图。
【具体实施方式】
[0021] 下面结合具体实施例对本发明进行详细说明。W下实施例将有助于本领域的技术 人员进一步理解本发明,但不W任何形式限制本发明。应当指出的是,对本领域的普通技术 人员来说,在不脱离本发明构思的前提下,还可W做出若干变形和改进。运些都属于本发明 的保护范围。
[0022] 本发明公开了一种手写原笔迹的实现方法,该方法包括:实时采集手写过程中的 轨迹点;根据采集到的轨迹点进行手写轨迹的拟合;根据每个轨迹点的压力值W及笔锋处 理后确定每个轨迹点处的笔宽值;最后根据运些笔宽值将拟合曲线分段后进行笔刷填充, 从而完成对原笔迹的擅染。本发明能够将轨迹点进行几乎完全光滑的轨迹拟合,并且很高 效率的进行原笔迹的擅染。
[002引图1所示为本发明所提供的方法流程图,包括如下:
[0024] 数据采集
[00巧]本发明通过手写板或者触摸屏实时采集手写过程中轨迹点的数据。采集的轨迹点 数据包括每个轨迹点的位置坐标、压力值、采样时间等。
[0026] 轨迹拟合
[0027] 本发明通过中点贝塞尔连接方式进行轨迹的拟合。为了保证擅染的实时性,并尽 量减少计算量,中点贝塞尔连接是基于二次贝塞尔曲线的。二次贝塞尔曲线的公式为:
[0028]B(t) = (l-t)"P0+2t(l-t)Pl+t"P2 公式 1
[0029] 其中0《t《1,B(t)是拟合后的曲线,P0为拟合贝塞尔曲线的入点,P2为拟合 贝塞尔曲线的出点,P1为拟合贝塞尔曲线的控制点。
[0030] 中点贝塞尔曲线拟合即将相邻两个轨迹点的中点作为曲线的两个端点,将两个相 邻中点之间的轨迹点作为曲线的控制点进行贝塞尔曲线拟合。中点贝塞尔曲线拟合示意图 如图2所示。 阳03U 图2中?0、口1、口2、口3为轨迹点,11为口0与口1的中点,12为口1与口2的中点,13 为P2与P3的中点。其中Ml与M2为贝塞尔曲线Cl的入点与出点,PI为贝塞尔曲线Cl的 控制点;M2与M3为贝塞尔曲线C2的入点与出点,P2为贝塞尔曲线C2的控制点。
[0032] 采用中点贝塞尔曲线拟合的方法能够完全保证曲线间的连接是平滑的,证明如 下:
[0033] 在图2中,对于轨迹点P0、P1、P2、P3,P0与P1的中点M1,P1与P2的中点M2,P2 与P3的中点M3,其中
[0034] 对于由Ml、P1与M2拟合而成的曲线C1而言:
[0044] 在M2点处,t = 0,此处的曲线斜率为:
[0045]B2(t=0)' =P2-P1 式②
[0046] 由式①②可知,在M2点处,曲线1与曲线2有相同的斜率,故此可m正明曲线C1 与曲线C2是平滑连接的。
[0047] 中点贝塞尔曲线拟合的方式完全保证了拟合后笔迹的平滑性,但是会导致在笔迹 拐点处笔迹的失真,在拐点多而密的笔迹上失真尤其明显。为了解决运个问题,中点贝塞尔 曲线拟合采取了大曲率曲线补点的改进。若曲线的最大曲率大于某个临界值时,便将运一 段曲线视为大曲率曲线。补点即将之前作为曲线出点的两轨迹点中点作为补入的轨迹点, 重新进行中点贝塞尔拟合。大曲率曲线补点示意图如图3所示。
[0048] 图3中,P0、P1、P3、P4为轨迹点,P1、P2、P3点拟合的曲线为大曲率曲线,点 AddedPoint为P2与P3的中点作为补入的轨迹点,补入的点与原轨迹点一起进行中点贝塞 尔曲线拟合。虚线连接的曲线为补点前拟合的曲线,实线连接的曲线为补点后拟合的曲线, 从图中可W看到,补点后的曲线更加贴近轨迹点,在P2点处表现尤其明显,从而修正了失 真的现象。
[0049] 根据上述的中点贝塞尔曲线连接方法,本方法实时读取轨迹点P(n),其中n= 1, 2,3,……。当n= 3时,开始拟合手写轨迹的第一段曲线,为了保证拟合后轨迹的起点与轨 迹点重合,故此第一段曲线采取不完全的中点贝塞尔曲线连接,即将P(l)为曲线的入点, P似为曲线的控制点,P似与P做的中点为曲线出点进行贝塞尔曲线拟合。此后的轨迹 中间部分的曲线均采用完全的中点贝塞尔曲线连接,即将P(n-2)与P(n-l)的中点为曲线 的入点,将P(n-l)为曲线控制点,将P(n-l)与P(n)的中点为曲线的出点进行贝塞尔曲线 的拟合。对于轨迹的最后一段曲线,为了保证拟合后轨迹的终点与轨迹点重合,故此最后一 段曲线采取不完全的中点贝塞尔曲线连接,即将P(n-2)与P(n-l)的中点作为曲线的入点, 将P(n-l)作为曲线的控制点,将P(n)作为曲线的出点进行贝塞尔曲线的拟合。在每段曲 线拟合完成后,计算运段曲线的最大曲率,若最大曲率大于临界值,本方法对运段曲线进行 补点,即将P(n-l)与P(n)的中点作为补点AddPoint,将P(n-。与?(11-1)的中点作为曲线 的入点,将P(n-l)作为曲线的控制点,将P(n-l)与AddPoint的中点最为曲线的出点拟合 第一段贝塞尔曲线;将P(n-l)与AddPoint的中点作为曲线的入点,将AddPoint作为曲线 的控制点,AddPoint与P(n)的中点作为曲线的出点拟合为第二段贝塞尔曲线;最后将运两 段曲线共同作为最终拟合的轨迹曲线。在本方法中轨迹拟合的过程中可知,除了轨迹的最 前两段曲线间和最后两段曲线间,其他曲线间的连接均是光滑的。
[0050] 本方法的轨迹拟合流程图如图4所示。
[0051] 轨迹点笔宽值计算
[0052] 轨迹点笔宽值的计算主要是根据当前轨迹点的压力值W及基础笔宽,基础笔宽是 指当前原笔迹擅染的最大笔宽Wi化hMAx与最小笔宽widthMIW。轨迹点的笔宽值是随着该轨 迹点压力值的增大而增大的。笔宽Wi化h的计算公式如下:
[0053]wi化h=wi化hMiN+(wi化hwAx-wi化hMiN)*pressure 公式2
[0054] 上式中的pressure为轨迹点处的压力值。
[0055] 此
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1