一种对手写输入进行美化的方法和装置的制作方法

文档序号:6440931阅读:340来源:国知局
专利名称:一种对手写输入进行美化的方法和装置的制作方法
技术领域
本发明涉及输入技术,特别涉及一种对手写输入进行美化的方法和装置。
背景技术
与键盘输入相比,手写输入有着更加直观、便捷、用户友好等优点。随着数字化仪和触摸屏等技术的发展和普及,手写输入在移动电话终端、平板电脑、手写板、智能电视等各种输入装置上的应用也越来越广泛。输入装置可以采集用户输入时的笔迹数据,如:X轴坐标值、Y轴坐标值等信息。但如果直接显示该笔迹数据构成的轨迹,笔画将显得非常生硬,没有美感,用户体验不佳。
为获得更好的用户体验,近年来出现了一些对用户手写输入进行美化的技术,比如有基于识别结果和模板融合的方法、基于模型的方法、基于笔迹变换和笔画渲染的方法坐寸O
不管是哪种美化方法,现有技术对同一种或同一类笔画通常采用相同的美化方式,而不会考虑笔画之间的影响,也就无法体现真人的书写风格。比如:“三”这个字有三个相同的横笔画,现有的美化方法可能将这三个笔画美化为同一种轮廓。而用户在书写时,可能会考虑到三个笔画的分布,将第二个笔画写得比较弱且短,而将第三个笔画写的比较重且长,其呈现的结果应该是不一样的。如果采用现有的美化方法,将无法体现该用户的书写风格。发明内容
本发明提供了一种对手写输入进行美化的方法和装置,可以充分利用笔画结构信息,更好地体现用户的书写风格或真实期望。
为了实现上述第一个发明目的,本发明提供的方案为:
一种对手写输入进行美化的方法,该方法包括:
实时采集用户手写输入时的笔迹数据;
判断是否启动笔迹美化操作,如果是,则根据采集到的笔迹数据确定笔画结构信息,利用与笔画结构信息对应的笔迹美化方法进行美化后,显示美化结果;否则继续采集所述笔迹数据。
针对上述第二个发明目的,本发明提供的技术方案为:
一种对手写输入进行美化的装置,该装置包括:
手写输入单元,用于实时采集用户手写输入的笔迹数据;
判别单元,用于判断是否启动笔迹美化操作,如果是,则启动笔画结构分析单元;
笔画结构分析单元,用于根据采集到的笔迹数据确定笔画结构信息,并启动美化单元;
美化单元,利用与笔画结构信息对应的笔迹美化方法进行美化,获得美化结果;
显示单元,显示美化结果。
本发明提供一种对手写输入进行美化的方法和装置,由于在美化过程中,充分利用了笔画结构信息,将笔画结构信息对应不同的美化方法,使得美化效果更加符合用户真人书写时的习惯,体验更加真实。


图1是本发明方法的流程图。
图2是本发明方法一个较佳实施例的流程图。
图3是本发明装置的结构示意图。
图4是利用本发明方案第一个示例效果图。
图5是利用本发明方案第二个示例效果图。
图6是利用本发明方案第三个示例效果图。
具体实施方式
本发明利用笔画结构信息来确定不同的美化方法,使得结果更加符合真人书写的习惯。
图1是本发明实现对手写输入进行美化的方法流程图。如图1所示,该方法包括:
步骤101:实时采集用户手写输入的笔迹数据。
这里所述的笔迹数据包括X轴坐标值和Y轴坐标值。本发明的笔迹数据还可以包括其他信息,比如压力信息等。
步骤102:判断是否启动笔迹美化操作,如果是,则执行步骤103 ;否则,返回步骤101继续采集所述笔迹数据。
实际应用中,启动笔迹美化操作的时机有多种,具体可参见以下实施例。
步骤103:根据采集到的笔迹数据确定笔画结构信息。
这里所述的笔画结构信息是指某个笔画与其他笔画之间的结构关系,可以包括:是否为重要笔画、笔画端点处是否有相邻笔画、是否处于包围结构中的任意一种或一种以上的任意组合。
这里仅仅提到三类笔画结构信息,实际应用中还可以包括其他信息,比如:处于上下结构中哪个部位、处于左右结构中的哪个部位、处于上中下结构中的哪个部位、处于左中右结构中的哪个部位、处于品字结构中的哪个部位等等。凡是体现笔画之间的结构关系,均在本发明范围之内,并不受上述笔画结构信息举例的限制。
至于如何根据笔迹数据来确定笔画结构信息可以参见下述实施例的详细描述,此处不再赘述。
步骤104:利用与笔画结构信息对应的笔迹美化方法进行美化。
本步骤在进行笔迹美化时是采用与笔画结构信息对应的方法实施的,不同的笔画结构信息其美化的方法可不相同。笔迹美化方法包括骨架建模和轮廓建模两个阶段:先利用事先设置的与笔画结构信息对应的方法对采集到的笔迹数据进行骨架建模,然后在骨架建模的基础上,利用事先设置的与笔画结构信息对应的美化方法进行轮廓建模。
步骤105:显示美化结果。
本步骤是对经过美化后得到的封闭轮廓的区域进行渲染,具体方法可参见以下实施例。
为了更好地说明本发明方案,下面用一个较佳实施例进行详细描述。
本实施例中,假设笔迹数据包括X轴坐标值、Y轴坐标值和压力信息,笔画结构信息包括是否为重要笔画、笔画端点处是否有相邻笔画以及是否处于包围结构中这三种。
图2是本实施例的流程图,其中:
步骤201:采集用户手写输入时的笔迹数据,存储所述用户手写输入时的笔迹数据,并显示笔迹数据对应的未经过美化的笔迹,所述笔迹数据包括X轴坐标值、Y轴坐标值和压力信息。
本实施例可以在用户输入后存储并立即显示未经过美化的笔迹,以满足用户输入时实时显示的要求。实际应用中也可以不立即显示,而是等到后续美化完成之后直接显示美化后的结果。
另外,这里显示笔迹数据对应的笔迹仅需X轴坐标值和Y轴坐标值,至于压力信息可作为后续分析重要笔画的基础,此处不作详细描述。
步骤202:判断是否启动笔迹美化操作,如果是,则执行步骤203 ;否则,继续执行步骤201。
这里,启动美化操作的时机至少可以包括以下几种:
1、判断当前笔画是否结束,如果是,则启动笔迹美化操作。
2、根据采集到的笔迹数据判断当前笔画的笔迹点数是否已经大于预先设置的笔迹点数阈值,如果是,则启动美化操作。这是因为,实际应用中,如果某个笔画长度较长,可以在笔画未结束时提前进行美化操作,以满足用户实时美化的需求。
3、判断当前时间与上次启动美化操作时间之间的间隔是否大于预先设置的时间阈值,如果是,则启动美化操作。与上述第二种情况类似,如果当前笔画操作时间较长,可以在笔画未结束时提前进行美化操作,以满足用户实时美化的需求。
当然,实际应用中还可以采用其它方式来启动美化操作,比如设置固定的时间间隔,按照固定的时间间隔自动启动美化操作即可。
步骤203:根据采集到的笔迹数据确定笔画的笔画结构信息。
下面分两个角度对本步骤进行详细描述。一个角度是“利用哪些笔迹数据确定哪些笔画结构信息”,另一个角度是“确定笔画结构信息的具体方式”。
由于本步骤所述的笔迹数据可以是全部笔画对应的笔迹数据,也可以是部分笔画对应的笔迹数据,那么,所确定的笔画结构信息可以是全部笔画对应的笔画结构信息,也可以是部分笔画对应的笔画结构信息。
按照上述分析,本步骤在确定笔画结构信息时,可以分成三种情况:
情况一:利用采集到的全部笔迹数据获得全部笔画的笔画结构信息,并更新已有的全部笔画结构信息。
也就是说,由于每一笔画总是与已有的其他笔画存在结构上的某种关系,如果统一考虑所有笔画,就能够准确地确定每一个笔画的笔画结构信息。因此,每次用户新输入一个笔画后,都可以根据已有的全部笔迹数据来确定全部已有笔画的笔画结构信息。
情况二:利用采集到的全部笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息。
也就是说,每次用户新输入一个笔画后,会考虑全部笔迹数据,但仅对部分(比如与当前笔画邻近的笔画以及当前笔画)的笔画结构信息进行更新。这样,可以加快本步骤确定笔画结构信息的速度。
情况三:利用采集到的部分笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息。
也就是说,每次用户新输入一个笔画,并不考虑全部的笔迹数据,仅考虑部分笔画的笔迹数据(比如当前笔画以及与当前笔画邻近的部分笔画的笔迹数据),并且仅对部分(比如当前笔画以及与当前笔画邻近的部分笔画)的笔画结构信息进行更新。这样,可以进一步加快本步骤确定笔画结构信息的速度。
不管是上述哪种情况,笔画结构信息都可以由采集到的笔迹数据来确定。为了进一步清楚描述,下面以“是否为重要笔画”、“是否有相邻笔画”、“是否处于包围结构中”这三种为例来分析确定笔画结构信息的具体方式。
第一种、在确定一个笔画是否为重要笔画时,可以根据采集到的该笔画的笔迹数据确定该笔画的长度,根据采集到的全部或部分笔画的笔迹数据确定笔画平均长度。将该笔画的长度与笔画平均长度进行比较,如果该笔画的长度大于笔画平均长度,则确定该为重要笔画,否则为非重要笔画。这里,利用笔迹数据确定笔画长度的方式也很多。比如:可以计算从起笔到收笔之间笔迹点的个数,将计算出的笔迹点个数作为该笔画的长度。实际应用中,还可以为笔画长度设置下限阈值,如果当前笔画的长度小于该阈值,则确定为短笔画,后续采用短笔画对应的方法进行美化。另外,在确定笔画平均长度时,还可以规定在笔画长度大于预设的长度时才用于计算平均长度,否则不用于计算平均长度的计算。
确定一个笔画是否为重要笔画还可以这样实现:根据采集到的该笔画笔迹数据中的压力信息确定笔迹的压力分布,将平均压力大的笔画确定为重要笔画,将平均压力小的笔画确定为非重要笔画。本实施例中的笔迹数据不但包括X轴坐标值和Y轴坐标值,还包括压力信息。这是因为用户在书写时,同一个笔画不同部分的着力可能不同。如:在写“一”这个笔画时,用户可能会在起笔处(头部)写得比较重(即压力大),收笔处(尾部)写得比较轻(即压力小)。因此,通过对压力信息的分析,就可以将平均压力大的笔画设置为重要笔画,将平均压力小的笔画设置为非重要笔画。
第二种、确定一个笔画的笔画端点处是否有相邻笔画时,可以根据采集到的该笔画的笔迹数据计算该笔画的端点与其他笔画之间的距离,如果小于预先设置的距离阈值,则确定该笔画端点处有相邻笔画,否则确定为无相邻笔画。也就是说,本实施例的笔画两端点可能会因为是否有相邻笔画而采用不同美化方法。这是因为用户在书写时,如果笔画的一端无相邻笔画,则会写得比较饱满,反之,则写得比较简洁。比如:在写“人”中的一撇(“)”)这个笔画时,由于其头部无相邻笔画,通常会写得比较饱满,而在写“乃”中的一撇这个笔画时,由于其头部有相邻笔画,通常会写得比较简洁。再比如:“中”的一竖两端都没有相邻笔画,而“王”中的一竖两端都有相邻笔画,即使用户输入的轨迹完全一样,也应该采用不同的方式美化,将“中”的一竖写得饱满,将“王”的一竖写得简洁。
第三种、确定一个笔画是否处于包围结构中时,可以根据采集到的该笔画的笔迹数据判断该笔画是否处于其他至少一个笔画所构成的矩形中,如果是,则确定当前笔画处于包围结构中,否则确定为未处于包围结构中。也就是说,本实施例中同一个或若干笔画可能会因为是否处于包围结构(如全包围或半包围)而采用不同美化方法。这是因为用户在书写时,如果笔画处于包围结构中,则会写得比较简洁,反之,则可能写得比较饱满。比如:在写“国”中的“玉”这几个笔画时,由于其处于包围结构中,通常会写得比较简洁,而直接写“玉”这几个笔画,通常会写得比较饱满。
需要注意的是,这里所述“处于其他至少一个笔画所构成的矩形”的含义并非指其他笔画必须构成一个规整的矩形框,而是指当前笔画的笔迹数据(X轴坐标值和Y轴坐标值)全部包含于其他至少一个笔画的笔迹数据(X轴坐标值和Y轴坐标值)范围之中。比如:当前笔画的笔迹数据为{(5,5),(6,5), (7,6), (8,6), (9,7) },那么,当前笔画最小的X轴坐标值为5,最大的X轴坐标值为9,最小的Y轴坐标值为5,最大的Y轴坐标值为7。而如果其他某个笔画的笔迹数据中最小的X轴坐标值为2,最大的X轴坐标值为15,最小的Y轴坐标值为2,最大的Y轴坐标值为10。因此,当前笔画的笔迹数据的坐标值全部落入其他某个笔画笔迹数据的范围之中,可以确定当前笔画处于包围结构中。
步骤204:利用与笔画结构信息对应的方法,对采集到的笔迹数据进行骨架建模。
这里,骨架建模的方法可以包括:1)根据设备分辨率,对采集到的笔迹数据进行插值或亚采样;2)对插值或亚采样后的笔迹数据进行平滑、旋转、伸缩或平移等变形处理;3)根据变形处理后的笔迹数据将骨架进行分段处理;4)根据分段处理后的骨架确定骨架类型和/或位置信息。
具体的,对于第一步,实际应用中可以根据设备分辨率计算物理距离对应的像素距离Dpi,其中Dpi >0。若用户输入时的笔迹数据中相邻点之间的像素距离大于Dpi的Minterp倍(Minterp > O),则可用线性插值、多项式插值或样条插值方法来插入笔迹点,直到满足相邻点之间的像素距离不大于Dpi的Minterp倍为止。若用户笔迹信息中相邻点之间的像素距离小于Dpi的Mresample倍(Mresample > O),则用等像素距离、等样本点数、随机选择等方法,从用户笔迹信息中去除笔迹点,直到满足相邻点之间的像素距离都大于Dpi的Mresample倍为止。
对于第二步,实际应用中,对笔迹数据进行平滑可以根据同一笔画或相邻笔画中,当前笔迹点相邻的Nsmooth个点,其中Nsmooth > O,以方形波、三角形波、钟形波等计算其平均值,以该平均值对当前笔迹点做平滑。对笔迹数据做旋转可以计算笔画的几何中心;计算笔画以几何中心为中心,顺时针旋转Ascroll角度,其中-180° < Ascroll < 180°。对笔迹数据做伸缩可以计算笔画长度Lstroke,其中Lstroke > O ;根据美化参数,计算伸长的像素距离Lplus,或缩短的像素距离Lsub,其中Lplus > O, Lsub > O且Lsub < Lstroke/2 ;若伸长笔画,则在笔画开始端点和/或结束端点处,沿着笔画切线方向延伸Lplus插值笔迹点;若缩短笔画,则在笔画开始端点和/或结束端点处,根据用户笔迹信息去除弧长为Lsub长度的笔迹点。对笔迹数据做平移可以计算笔画的几何中心;计算笔画笔迹点到几何中心的横坐标距离;以横坐标距离的Mscroll倍平移笔迹点纵坐标,其中MsctoII > O。
对于第三步,实际应用中可以根据用户笔迹信息切分出多段骨架。根据用户笔迹信息计算曲率,若曲率大于C,则在该点处切分骨架,其中C > O。
对于第四步,实际应用中在确定骨架类型时,可根据字符集的基本组成部分,如笔段,确定骨架类型。例如当字符集为中文时,骨架类型可为横、竖、撇、捺、提、勾、点;当字符集为韩文时,骨架类型可为横、竖、撇、捺、提、勾、点、弧;当字符集为英文时,骨架类型可为C型弧、S型弧、直线。那么,在确定某个笔画的骨架类型时,该骨架开始端点和结束端点构成向量,根据该向量长度和/或方向,可得到骨架类型信息。以字符集为中文举例,当该向量长度小于Lmin时,其中Lmin > O,该骨架类型为点;当该向量长度大于Lmin,且方向与横坐标轴夹角小于Al时,该骨架类型为横,其中Al > O ;当该向量长度大于Lmin,且方向与纵坐标轴夹角小于A2时,该骨架类型为竖,其中A2> O;当该向量长度大于Lmin,且方向大于A31,小于A32时,该骨架类型为撇,其中180° < A31, A32 < 270°,且A32>A31;当该向量长度大于Lmin,且方向大于A41,小于A42时,该骨架类型为捺,其中270° < A41,A42< 360°,且A42 > A41 ;当该向量长度大于Lmin,且方向大于A51,小于A52时,该骨架类型为提,其中0° <A51,A52<90°,且A52 > A51 ;当该向量长度大于Lmin,且方向大于A61,小于A62时,该骨架类型为勾其中90。< A61,A62 < 180°,且A62>A61。
在确定骨架位置信息时,可以根据骨架端点在分段前笔画中的位置来确定。比如当骨架即一个完整的笔画时,该骨架为自由骨架。如果某骨架开始端点为笔画开始端点,骨架结束端点为笔画中间笔迹点是,那么该骨架位置为头。如果某骨架开始端点为笔画中间笔迹点,骨架结束端点为笔画结束端点时,那么该骨架位置为尾。如果某骨架开始端点和结束端点都是笔画中间笔迹点时,那么该骨架位置为中间。
步骤205:在骨架建模的基础上,利用与笔画结构信息对应的方法进行轮廓建模,获得美化结果。
这里,轮廓建模的方法可以包括:
计算骨架切向量方向和/或法向量方向;根据骨架切向量和/或法向量方向、骨架类型和/或位置信息,计算围绕骨架的基本轮廓,基本轮廓用样条曲线或直线段组成;计算骨架端点处具有书法风格的笔头轮廓,笔头轮廓用样条曲线或直线段组成;计算骨架之间的连接轮廓,连接轮廓用样条曲线或直线段组成;对笔画的基本轮廓、笔头轮廓和/或连接轮廓重新排序,得到各段轮廓首尾相接组成的封闭轮廓,封闭轮廓用样条曲线或直线段组成。
也就是说,为了达到美化的效果,可以将单调的笔迹改成有一定宽度的封闭轮廓。封闭轮廓由基本轮廓、连接件轮廓和/或笔头轮廓围成。根据所用美化方法的不同,封闭轮廓由不同数目的样条曲线或直线段描述,样条曲线数目越多,封闭轮廓的书法风格越丰富。
另外,本实施例可以对不同的笔画结构信息采用不同的轮廓表现方式,以符合用户的习惯。因此,不同的笔画结构信息对应什么特征的轮廓就显得很重要,下面仅对“是否为重要笔画”、“是否有相邻笔画”、“是否处于包围结构中”这三类笔画结构信息进行相应的分析:
第一类、若笔画结构信息为重要笔画,则所述封闭轮廓是利用多于NI条的样条曲线进行轮廓建模所得的轮廓,所述NI为大于O的整数。
若笔画结构信息为非重要笔画,则所述封闭轮廓是利用少于Ml条的样条曲线进行轮廓建模所得的轮廓,所述Ml为大于O且小于或等于NI的整数。
第二类、若笔画结构信息为笔画端点处无相邻笔画,则所述封闭轮廓是利用多于N2条的样条曲线进行轮廓建模所得的轮廓,所述N2为大于O的整数。
若笔画结构信息为笔画端点处有相邻笔画,则所述封闭轮廓是利用少于M2条的样条曲线进行轮廓建模所得的轮廓,所述M2为大于O且小于或等于N2的整数。
第三类:若笔画结构信息为未处于包围结构中,则所述封闭轮廓是利用多于N3条的样条曲线进行轮廓建模所得的轮廓,所述N3为大于O的整数。
若笔画结构信息为处于包围结构中,则所述封闭轮廓是利用少于M3条的样条曲线进行轮廓建模,所述M3为大于O且小于或等于N3的整数。
也就是说,本实施例采取的策略是:重要笔画建立的轮廓比非重要笔画采用的样条曲线多,无相邻笔画建立的轮廓比有相邻笔画采用的样条曲线多,未处于包围结构中的比处于包围结构中采用的样条曲线多。当然,实际应用中也可以采取其他的策略,此处不再 列举。
某些情况下,如果某个笔画同时符合上述一个以上的特征,可能在决策采用哪种轮廓时发生冲突。比如:某笔画既是重要笔画,同时又处于包围结构中。如果按照重要笔画处理,该笔画应该利用较多的样条曲线构建轮廓,外形结果应该是饱满的。如果按照处于包围结构中的情况来处理,该笔画应该利用较少的样条曲线构建轮廓,外形结果应该是简洁的。此时,轮廓的选择发生了冲突。
这种情况下,可以按照设置的优先级顺序来确定。也就是说,若笔画结构信息同时包括是否为重要笔画、笔画端点处是否有相邻笔画以及是否处于包围结构中,可以为其设置优先级。比如,设置是否处于包围结构中的优先级最高,笔画端点处是否有相邻笔画的优先级次之,是否为重要笔画的优先级最低。那么,在轮廓建模中,封闭轮廓可按照优先级顺序来确定的:
若某个笔画是处于包围结构中,那么封闭轮廓就采用与处于包围结构中所对应的封闭轮廓(比如简洁的轮廓)。若某个笔画未处于包围结构中,且笔画端点处有相邻笔画,那么封闭轮廓采用与笔画端点处有相邻笔画所对应的封闭轮廓(比如简洁的轮廓)。若某个笔画未处于包围结构中、笔画端点处无相邻笔画且为重要笔画,那么封闭轮廓采用与重要笔画所对应的封闭轮廓(比如丰富的轮廓)。若某个笔画未处于包围结构中、笔画端点处无相邻笔画且为非重要笔画,那么封闭轮廓可采用默认的封闭轮廓(比如简洁的轮廓)。
仍然以某笔画既是重要笔画,同时又处于包围结构中的冲突为例,由于设置了优先级,是否处于包围结构中的优先级比是否是重要笔画的优先级高,应该先考虑该笔画是否处于包围结构中。在这种情况下,由于处于包围结构中应该采用简洁的轮廓,就可以在冲突时直接采用较少样条曲线构建简洁的轮廓。
206:显示美化结果。
本实施例中,由于在用户输入时可以显示其未经过美化的笔迹,在启动笔迹美化操作之前可能已经显示其他笔画的美化结果,且由于当前笔画的输入可能造成对已有的其他全部或部分笔画结构信息的改变,因此,本步骤的显示可以包括以下几种情况:
情况一:清除启动笔迹美化操作前已显示的未经过美化的笔迹以及全部美化结果,再对启动笔迹美化操作后得到的全部美化结果进行渲染并显示。
也就是说,假设此前已经显示了未经美化的笔迹,还显示了其他笔画的美化结果,且由于当前笔画的输入对其他全部笔画的笔画结构信息都进行了更新,其他全部笔画的美化结果也可能发生了变化,因此,本步骤需要清除未经美化的笔迹以及其他全部笔画的美化结果,并按照更新后的全部笔画的美化结果进行渲染并显示。
情况二:清除启动笔迹美化操作前已显示的未经过美化的笔迹以及部分美化结果,再对启动笔迹美化操作后得到的部分美化结果进行渲染并显示。
也就是说,假设此前已经显示了未经美化的笔迹,还显示了其他笔画的美化结果,且由于当前笔画的输入对其他部分笔画(比如当前笔画相邻的笔画)的笔画结构信息都进行了更新,其他部分笔画的美化结果也可能发生了变化,因此,本步骤需要清除未经美化的笔迹以及其他部分笔画的美化结果,并按照更新后的部分笔画的美化结果进行渲染并显/Jn ο
另外,实际应用中,在渲染封闭轮廓时,可以根据笔画结构信息和/或笔迹数据计算得到封闭轮廓的深度信息,针对不同的深度信息,可以用不同的三维渲染算法去渲染带有深度信息的封闭轮廓。或者,还可以根据笔画结构信息和/或笔迹数据计算封闭轮廓边缘处的阴影,用不同的渲染算法分别渲染封闭轮廓内的区域和/或边缘处的阴影,以呈现立体效果。
其中,计算封闭轮廓的深度信息的方法为:将封闭轮廓中心区域深度值设置为较大的参数,将封闭轮廓边缘区域深度值设置为较小的参数;将重要笔画的深度值设置为较大的参数,将非重要笔画的深度值设置为较小的参数;将有相邻笔画的笔画端点处的深度值设置为较小的参数,将没有相邻笔画的笔画端点处深度值设置为较大的参数;将包围结构内的笔画的深度值设置为较小的参数,将非包围结构内的笔画深度值设置为较大的参数。当然,实际应用中还可以采用其他计算深度信息的方法,比如所有的封闭轮廓内部采用相同的深度值。
207:判断用户是否继续输入,如果是,则执行步骤201 ;否则退出本流程。
本实施例这里采用循环的方式来实时检测用户的输入,实际应用中,对输入的检测以及笔迹数据的采集可以与后续美化操作并行处理,并不一定采用循环的方式。
针对上述对手写输入进行美化的方法,本发明还提出一种对手写输入进行美化的>J-U ρ α装直。
如图3所示,该装置包括:手写输入单元301、判别单元302、笔画结构分析单元303、美化单元304、显示单元305。这些单元可以由组件构成的。所述“组件”是与本发明系统相关的实体,可以是硬件,也可以是硬件和软件的结合,还可以是软件或执行中的软件。比如:组件可以是,但不局限于,运行在处理器上的进程、处理器、对象、可以执行的东西、执行的线程、程序和计 算机。作为示例,运行在移动终端上的应用程序可以是组件。另外,组件可以包括一个或多个组件。该装置各单元可分布式部署,例如若干个单元部署于服务器端,另外若干个单元部署于终端。
具体的,
手写输入单元301,用于实时采集用户手写输入的笔迹数据。
这里所述的笔迹数据指用户输入时与输入设备(如触摸屏)接触的坐标值,包括X轴坐标值和Y轴坐标值,还可以包括压力信息等,具体含义与步骤101和201的相同。
判别单元302,用于判断是否启动笔迹美化操作,如果是,则启动笔画结构分析单元303。启动时机有多种,具体参见方法实施例部分,此处不再重复描述。
笔画结构分析单元303,用于根据采集到的笔迹数据确定笔画结构信息,并启动美化单元304。
这里所述笔画结构信息是指某个笔画与其他笔画之间的结构关系,比如:是否为重要笔画、笔画端点处是否有相邻笔画、是否处于包围结构中等的任意一种或一种以上的任意组合,具体参见方法部分的步骤103和步骤203。
美化单元304,利用事先设置的与笔画结构信息对应的笔迹美化方法进行美化,获得美化结果。其中,所述美化单元304可以包括:
骨架建模单元3041,用于利用与笔画结构信息对应的方法对采集到的笔迹数据进行骨架建模,即包括平移、伸缩、平滑或旋转等操作,具体方式参见方法部分的步骤204。
轮廓建模单元3042,在骨架建模的基础上,利用与笔画结构信息对应的方法进行轮廓建模,具体参见方法部分的步骤205。
显示单元305,显示美化结果,具体参见方法部分的步骤206。
实际应用中,该装置还可以包括其他常规的单元,比如:用于存储笔迹数据和/或美化结果的存储单元,负责各个单元相互通信的通信单元等等。
应用本发明上述方法或装置方案后,由于在骨架建模和轮廓建模时充分利用了笔画结构信息,获得的美化结果将更加符合用户的习惯。下面再用几个具体的实例进行简单说明:
比如:如图4所示,某用户输入了“三”这个汉字,第一个笔画在Tl时刻输入,第二个笔画在T2时刻输入,第三个在T3时刻输入。当Tl时刻输入第一个笔画时,输入装置可以采集笔迹数据,并显示出该笔画未经过美化的轨迹410。利用本发明上述方案之后,可以清除原始轨迹并显示经过美化的笔画411。可以看出,笔画411经过美化后,其端点处比较饱满。当T2时刻输入第二个笔画时,输入装置显示出该原始笔画轨迹后效果420。利用本发明上述方案之后,可清除原始轨迹并显示经过美化的笔画421。同样,当T3时刻输入第三个笔画时,输入装置显示出该原始笔画轨迹后的效果430。利用本发明上述方案之后,可清除原始轨迹并显示经过美化的笔画431。在这三个笔画中,分析得到的笔画结构信息可能不同,第二个笔画可能被确定为非重要笔画,显示出的美化效果与第一和第三个笔画完全不同。
再比如:如图5所示,501示例了几个相邻笔画分析结果,其中包括两个端点都没有相邻笔画的情况,或者笔画尾端点有相邻笔画的情况,或者笔画头端点有相邻笔画的情况,或者笔画头、尾端点都有相邻笔画的情况。502为每个字最后一个笔画输入后,启动实时美化得到的效果。这里,“發”和中存在同样的竖笔画,但因为其“是否有相邻笔画”的信息不同,而具有不同的美化效果,从而更接近于真人的书写习惯。
再比如:如图6所示,501示例性示出包围笔画信息及其在实时美化中的效果。610为“玉”的笔画分析结果,611为对应的美化效果。620为“国”的笔画分析结果,621为对应的美化效果。这里,虽然“国”中也包含了“玉”接近的笔迹数据,但是因为两者的“是否处于包围结构中”的信息不同,而得到的美化结果显著不同,从而更接近于真人的书写习惯。
本发明方案在美化过程中,充分利用了笔画结构信息,使不同的笔画结构信息对应不同的美化方法,其美化效果更加符合用户习惯,体验更加真实。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种对手写输入进行美化的方法,其特征在于,该方法包括: 实时采集用户手写输入时的笔迹数据; 判断是否启动笔迹美化操作,如果是,则根据采集到的笔迹数据确定笔画结构信息,利用与笔画结构信息对应的笔迹美化方法进行美化后,显示美化结果;否则继续采集所述笔迹数据。
2.根据权利要求1所述的方法,其特征在于,所述笔迹数据包括X轴坐标值和Y轴坐标值,或者包括X轴坐标值、Y轴坐标值和压力信息。
3.根据权利要求1所述的方法,其特征在于,所述根据采集到的笔迹数据确定笔画结构信息的方法包括: 利用采集到的全部笔迹数据获得全部笔画的笔画结构信息,并更新已有的全部笔画结构信息;或者, 利用采集到的全部笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息;或者, 利用采集到的部分笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息。
4.根据权利要求1所述的方法,其特征在于,所述判断是否启动笔迹美化操作的方法包括: 判断当前笔画是否结束,如果是,则启动笔迹美化操作; 或者, 根据采集到的笔迹数据判断当前笔画的笔迹点数是否已经大于笔迹点数阈值,如果是,则启动美化操作; 或者, 判断当前时间与上次启动美化操作时间之间的间隔是否大于时间间隔阈值,如果是,则启动美化操作。
5.根据权利要求1所述的方法,其特征在于, 所述笔画结构信息包括:是否为重要笔画、笔画端点处是否有相邻笔画、是否处于包围结构中的任意一种或一种以上的任意组合。
6.根据权利要求5所述的方法,其特征在于,若所述笔画结构信息包括是否为重要笔画,在确定一个笔画的笔画结构信息时,该方法包括: 根据该笔画的笔迹数据确定该笔画的长度,根据采集到的全部或部分笔画的笔迹数据确定笔画平均长度,将该笔画的长度与所述笔画平均长度进行比较,如果该笔画的长度大于所述笔画平均长度,则确定该笔画为重要笔画,否则为非重要笔画; 或者, 根据该笔画的笔迹数据确定笔迹的压力分布,将平均压力大的笔画确定为重要笔画,将平均压力小的笔画确定为非重要笔画。
7.根据权利要求5所述的方法,其 特征在于,若所述笔画结构信息包括笔画端点处是否有相邻笔画,在确定一个笔画的笔画结构信息时,该方法包括: 根据该笔画的笔迹数据计算该笔画的端点与其他笔画之间的距离,如果小于距离阈值,则确定该笔画端点处有相邻笔画,否则确定为无相邻笔画。
8.根据权利要求5所述的方法,其特征在于,若所述笔画结构信息包括是否处于包围结构中,在确定一个笔画的笔画结构信息时,该方法包括: 根据该笔画的笔迹数据判断该笔画是否处于其他至少一个笔画所构成的矩形中,如果是,则确定该笔画处于包围结构中,否则确定为未处于包围结构中。
9.根据权利要求1所述的方法,其特征在于,所述与笔画结构信息对应的笔迹美化方法进行美化包括: 利用与笔画结构信息对应的方法对采集到的笔迹数据进行骨架建模;在骨架建模的基础上,利用与笔画结构信息对应的方法进行轮廓建模。
10.根据权利要求9所述的方法,其特征在于,所述骨架建模包括: 根据设备分辨率,对采集到的笔迹数据进行插值或亚采样; 对插值或亚采样后的笔迹数据进行平滑、旋转、伸缩或平移的变形处理; 根据变形处理后的笔迹数据将笔画骨架进行分段; 确定骨架类型和/或位置信息。
11.根据权利要求9所述的方法,其特征在于,所述轮廓建模包括: 计算骨架切向 量方向和/或法向量方向; 根据所述骨架切向量方向、法向量方向、骨架类型和/或位置信息,确定围绕骨架的基本轮廓,所述基本轮廓用样条曲线或直线段组成; 确定骨架端点处的笔头轮廓,所述笔头轮廓用样条曲线或直线段组成; 确定骨架之间的连接轮廓,所述连接轮廓用样条曲线或直线段组成; 对笔画的基本轮廓、笔头轮廓和/或连接轮廓重新排序,得到各段轮廓首尾相接组成的封闭轮廓,所述封闭轮廓用样条曲线或直线段组成。
12.根据权利要求11所述的方法,其特征在于, 若笔画结构信息为重要笔画,则所述封闭轮廓是利用多于NI条的样条曲线进行轮廓建模所得的轮廓,所述NI为大于O的整数; 若笔画结构信息为非重要笔画,则所述封闭轮廓是利用少于Ml条的样条曲线进行轮廓建模所得的轮廓,所述Ml为大于O且小于或等于NI的整数。
13.根据权利要求11所述的方法,其特征在于, 若笔画结构信息为笔画端点处无相邻笔画,则所述封闭轮廓是利用多于N2条的样条曲线进行轮廓建模所得的轮廓,所述N2为大于O的整数; 若笔画结构信息为笔画端点处有相邻笔画,则所述封闭轮廓是利用少于M2条的样条曲线进行轮廓建模所得的轮廓,所述M2为大于O且小于或等于N2的整数。
14.根据权利要求11所述的方法,其特征在于, 若笔画结构信息为未处于包围结构中,则所述封闭轮廓是利用多于N3条的样条曲线进行轮廓建模所得的轮廓,所述N3为大于O的整数; 若笔画结构信息为处于包围结构中,则所述封闭轮廓是利用少于M3条的样条曲线进行轮廓建模所得的轮廓,所述M3为大于O且小于或等于N3的整数。
15.根据权利要求11所述的方法,其特征在于,若所述笔画结构信息包括是否为重要笔画、笔画端点处是否有相邻笔画以及是否处于包围结构中,该方法进一步包括:为笔画结构信息设置优先级,其中,是否处于包围结构中的优先级最高,笔画端点处是否有相邻笔画的优先级次之,是否为重要笔画的优先级最低; 在轮廓建模中,所述封闭轮廓是按照笔画结构信息的优先级顺序来确定的: 若处于包围结构中,所述封闭轮廓是与处于包围结构中所对应的封闭轮廓; 若未处于包围结构中且笔画端点处有相邻笔画,所述封闭轮廓是与笔画端点处有相邻笔画所对应的封闭轮廓; 若未处于包围结构中、笔画端点处无相邻笔画且为重要笔画,所述封闭轮廓是与重要笔画所对应的封闭轮廓; 若未处于包围结构中、笔画端点处无相邻笔画且为非重要笔画,所述封闭轮廓是对应的默认的封闭轮廓。
16.根据权利要求1所述的方法,其特征在于,当采集到用户手写输入时的笔迹数据时,该方法进一步包括: 存储所述用户手写输入时的笔迹数据,并显示笔迹数据对应的未经过美化的笔迹。
17.根据权利要求16所述的方法,其特征在于,所述显示美化结果包括: 清除启动笔迹美化操作前已显示的未经过美化的笔迹以及全部美化结果,再对启动笔迹美化操作后得到的全部美化结果进行渲染并显示;或者, 清除启动笔迹美化操作前已显示的未经过美化的笔迹以及部分美化结果,再对启动笔迹美化操作后得到的部分美化结果进行渲染并显示。
18.根据权利要求17所述的方法,其特征在于,所述渲染包括: 根据笔画结构信息和/或笔迹数据计算封闭轮廓的深度信息,用不同的三维渲染算法渲染有所述深度信息的封闭轮廓;或者, 根据笔画结构信息和/或笔迹数据计算封闭轮廓边缘处的阴影,用不同的渲染算法分别渲染封闭轮廓内的区域和/或边缘处的阴影。
19.根据权利要求18所述的方法,其特征在于,所述计算封闭轮廓的深度信息的方法包括: 封闭轮廓中心区域深度值较大,封闭轮廓边缘区域深度值较小;重要笔画的深度值较大,非重要笔画的深度 值较小;有相邻笔画的笔画端点处的深度值较小,没有相邻笔画的笔画端点处深度值较大;包围结构内的笔画的深度值较小,非包围结构内的笔画深度值较大。
20.一种对手写输入进行美化的装置,其特征在于,该装置包括: 手写输入单元,用于实时采集用户手写输入的笔迹数据; 判别单元,用于判断是否启动笔迹美化操作,如果是,则启动笔画结构分析单元; 笔画结构分析单元,用于根据采集到的笔迹数据确定笔画结构信息,并启动美化单元; 美化单元,利用与笔画结构信息对应的笔迹美化方法进行美化,获得美化结果; 显示单元,显示美化结果。
21.根据权利要求20所述的装置,其特征在于,所述笔迹数据包括X轴坐标值和Y轴坐标值,或者X轴坐标值、Y轴坐标值和压力信息。
22.根据权利要求20所述的装置,其特征在于,所述笔画结构分析单元在确定笔画结构信息时: 利用采集到的全部笔迹数据获得全部笔画的笔画结构信息,并更新已有的全部笔画结构信息;或者, 利用采集到的全部笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息;或者, 利用采集到的部分笔迹数据获得部分笔画的笔画结构信息,并更新已有的部分笔画的笔画结构信息。
23.根据权利要求20所述的装置,其特征在于,所述笔画结构信息包括:是否为重要笔画、笔画端点处是否有相邻笔画、是否处于包围结构中的任意一种或一种以上的任意组合。
24.根据权利要求23所述的装置,其特征在于,若所述笔画结构信息包括是否为重要笔画,在确定一个笔画的笔画结构信息时,包括: 根据该笔画的笔迹数据确定该笔画的长度,根据采集到的全部或部分笔画的笔迹数据确定笔画平均长度,将该笔画的长度与所述笔画平均长度进行比较,如果该长度大于所述笔画平均长度,则确定该笔画为重要笔画,否则为非重要笔画;或者, 根据该笔画的笔迹数据确定笔迹的压力分布,将平均压力大的笔画确定为重要笔画,将平均压力小的笔画确定为非重要笔画。
25.根据权利要求23所述的装置,其特征在于,若所述笔画结构信息包括笔画端点处是否有相邻笔画,在确定一个笔画的笔画结构信息时,包括: 根据该笔画的笔迹数据计算该笔画的端点与其他笔画之间的距离,如果小于距离阈值,则确定该笔画端点处有相邻 笔画,否则确定为无相邻笔画。
26.根据权利要求23所述的装置,其特征在于,若所述笔画结构信息包括是否处于包围结构中,在确定一个笔画的笔画结构信息时,包括: 根据该笔画的笔迹数据判断该笔画是否处于其他至少一个笔画所构成的矩形中,如果是,则确定该笔画处于包围结构中,否则确定为未处于包围结构中。
27.根据权利要求20所述的装置,其特征在于,所述美化单元包括: 骨架建模单元,利用与笔画结构信息对应的方法对采集到的笔迹数据进行骨架建模; 轮廓建模单元,在骨架建模的基础上,利用与笔画结构信息对应的方法进行轮廓建模。
28.根据权利要求27所述的装置,其特征在于,所述骨架建模包括: 根据设备分辨率,对采集到的笔迹数据进行插值或亚采样;对插值或亚采样后的笔迹数据进行平滑、旋转、伸缩或平移的变形处理;根据变形处理后的笔迹数据将笔画骨架进行分段;确定骨架类型和/或位置信息。
29.根据权利要求27所述的装置,其特征在于,所述轮廓建模包括: 计算骨架切向量方向和/或法向量方向;根据所述骨架切向量方向、法向量方向、骨架类型和/或位置信息,确定围绕骨架的基本轮廓,所述基本轮廓用样条曲线或直线段组成;确定骨架端点处的笔头轮廓,笔头轮廓用样条曲线或直线段组成;确定骨架之间的连接轮廓,连接轮廓用样条曲线或直线段组成; 对笔画的基本轮廓、笔头轮廓和/或连接轮廓重新排序,得到各段轮廓首尾相接组成的封闭轮廓,封闭轮廓用样条曲线或直线段组成。
30.根据权利要求29所述的装置,其特征在于, 若笔画结构信息为重要笔画,则所述封闭轮廓是利用多于NI条的样条曲线进行轮廓建模所得的轮廓,所述NI为大于O的整数;若笔画结构信息为非重要笔画,则所述封闭轮廓是利用少于Ml条的样条曲线进行轮廓建模,所述Ml为大于O且小于或等于NI的整数。
31.根据权利要求29所述的装置,其特征在于, 若笔画结构信息为笔画端点处无相邻笔画,则所述封闭轮廓是利用多于N2条的样条曲线进行轮廓建模所得的轮廓,所述N2为大于O的整数; 若笔画结构信息为笔画端点处有相邻笔画,则所述封闭轮廓是利用少于M2条的样条曲线进行轮廓建模所得的轮廓,所述M2为大于O且小于或等于N2的整数。
32.根据权利要求29所述的装置,其特征在于, 若笔画结构信息为未处于包围结构中,则所述封闭轮廓是利用多于N3条的样条曲线进行轮廓建模所得的轮廓,所述N3为大于O的整数; 若笔画结构信息为处于包围结构中,则所述封闭轮廓是利用少于M3条的样条曲线进行轮廓建模所得的轮廓,所述M3为大于O且小于或等于N3的整数。
33.根据权利要求20所述的装置,其特征在于,该装置进一步包括: 存储单元,用于存储所述用户手写输入时的笔迹数据。
34.根据权利要求20所述的装置,其特征在于, 所述显示单元进一步用于:显示笔迹数据对应的未经过美化的笔迹。
35.根据权利要求34所述的装置,其特征在于,所述显示美化结果包括: 清除启动笔迹美化操作前已显示的未经过美化的笔迹以及全部美化结果,再对启动笔迹美化操作后得到的全部美化结果进行渲染并显示;或者, 清除启动笔迹美化操作前已显示的未经过美化的笔迹以及部分美化结果,再对启动笔迹美化操作后得到的部分美化结果进行渲染并显示。
36.根据权利要求35所述的装置,其特征在于,所述渲染包括: 根据笔画结构信息和/或笔迹数据计算封闭轮廓的深度信息,用三维渲染算法渲染有所述深度信息的封闭轮廓;或者, 根据笔画结构 信息和/或笔迹数据计算封闭轮廓边缘处的阴影,用不同的渲染算法分别渲染封闭轮廓内的区域和/或边缘处的阴影。
37.根据权利要求36所述的装置,其特征在于,所述计算封闭轮廓的深度信息包括: 封闭轮廓中心区域深度值较大,封闭轮廓边缘区域深度值较小;重要笔画的深度值较大,非重要笔画的深度值较小;有相邻笔画的笔画端点处的深度值较小,没有相邻笔画的笔画端点处深度值较大;包围结构内的笔画的深度值较小,非包围结构内的笔画深度值较大。
全文摘要
本发明提供了一种对手写输入进行美化的方法和装置,包括实时采集用户手写输入时的笔迹数据;判断是否启动美化操作,如果是,则根据采集到的笔迹数据确定笔画结构信息,利用事先设置的与笔画结构信息对应的美化方法进行美化,并显示美化结果。应用本发明方案,由于在美化过程中,充分利用了笔画结构信息,将笔画结构信息对应不同的美化方法,使得美化效果更加符合用户真人书写时的习惯,体验更加真实。
文档编号G06T11/80GK103164865SQ20111041281
公开日2013年6月19日 申请日期2011年12月12日 优先权日2011年12月12日
发明者罗振波, 陈又新, 王炎, 金尚镐 申请人:北京三星通信技术研究有限公司, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1