一种重叠书写的手写输入方法
技术领域
本发明属于文字输入技术领域,涉及一种手写输入方法,尤其涉及一种重叠书写的手写输入方法。
背景技术
近年来,手写输入法作为一种重要的文字输入方式已经广泛应用于智能手机、平板电脑、上网本、GPS终端、学习机等多种移动电子设备之中。手写输入法一般是指用户通过电子设备的触摸屏用书写笔或手指进行文字书写,同时电子设备对采集到的文字书写轨迹进行识别,转换为相应的文字并显示在屏幕上。在电子设备对用户书写轨迹的数据进行采集的过程中,一般都会实时将用户的书写的轨迹显示在显示屏上,以方便用户及时看到自己书写文字的笔画轨迹反馈信息。
目前移动电子设备的触摸屏及显示屏的尺寸大小有限,特别是在新一代以iPhone及Android手机为代表的智能手机,其书写方式一般是感应人手指在电容触摸屏的运动轨迹,由于触摸屏的大小限制及手指触点的分辨率限制,用户一般一次只能在触摸屏上书写一到二个字符,用户每书写完一个字符时,通常要停顿一段时间(典型停留时间在200ms~1000ms左右),然后等待移动设备对上一次书写的字符进行检测及识别之后,才能进行下一个字符的手写输入,这样使得利用手写输入文字时效率低下,无法按照人们自然书写的习惯进行连续的手写输入。
为了提高书写输入效率,有相关研究人员研发了全屏书写全屏识别的手写输入方案,一次可以在触摸屏上书写少量的多个字符,然后再将所有书写的字符图像提交给识别引擎进行分析及识别。但该方法任然受限与触摸屏尺寸的大小,无法进行任意多字符的连续书写(例如书写完一句完整的句子),特别是在触摸屏尺寸受限的移动电子设备(如智能手机)上,通常触摸屏全屏能容纳的书写字符数一般都很小(例如iPhone智能手机,利用手指书写通常一个屏幕能书写的字符数时小于4个),而且如果用户进行全屏书写时不同字符间出现粘连或重叠情况,将造成识别引擎无法进行正确分割和识别字符。
本发明利用重叠书写方式进行任意多字连续书写的手写文字输入方法,可以有效解决上述问题。所谓重叠书写方式,是指用户在写完一个字符后,书写下一个字符可以完全重叠或部分重叠在第一个字符之上的一种书写方式。该方法能让用户书写不同字符时不必停顿,可连续在手写屏上书写多个手写字符并进行相应的识别处理,从而大大提高手写文字输入的效率。但该方法的一个主要问题是重叠书写时,由于旧的字符笔画的存在,会导致在触摸屏上显示新书写字符笔画时受到旧字符笔画的干扰(如图1所示“科学”两个字符的重叠书写轨迹显示),从而影响给用户的显示反馈,给用户的新书写轨迹造成视觉干扰,影响用户体验及输入效率。这一问题特别是在连续重叠书写多个字符时尤其严重,例如如图3连续书写“科学家”这三个字符时,在书写到第三个字符“家”时,用户基本上看不清楚新书写的字符笔画轨迹。
发明内容
本发明所要解决的技术问题是:提供一种重叠书写的手写输入方法,通过判断字符重叠的起始笔画,对当前书写的重叠字符的笔画及上一次已经完的字符笔画赋予不同的显示颜色,从而达到显示美观清晰且不干扰用户进行手写输入。
为解决上述技术问题,本发明采用如下技术方案:
一种重叠书写的手写输入方法,所述手写输入方法包括如下步骤:
步骤S111:手写笔或手指接触触摸屏,开始输入笔画;
步骤S112:手写笔或手指在触摸屏上移动,记录并在触摸屏上的手写区域显示笔画轨迹,同时用给定的颜色A绘制出当前笔画轨迹;
步骤S113:手写笔或手指离开触摸屏,当前笔画的输入结束;
步骤S114:判断当前书写的笔画与之前已经输入的颜色为A的所有笔画是否属于同一个字符;如果答案为是,转到步骤S124;如果答案为否,转到步骤S115;
步骤S115:判断屏幕上是否存在有非激活视图层的字符;所谓非激活视图层的字符,是指上一次已经书写完整且经过识别及颜色变换处理的字符,该字符在步骤S117中给出定义;如果答案为是,转向步骤S116;如果答案为否,则转向步骤S117;
步骤S116:清除非激活视图层的字符图像及与其相关笔画信息;
步骤S117:定义除当前笔画之外其余所有颜色值为A的笔画所构成的字符为非激活视图层字符;
步骤S118:将当前非激活视图层字符数据提交给识别引擎进行识别,输出识别结果;
步骤S119:判断识别引擎给出的识别结果是否足够可信;如果答案为是,则转向步骤S120;否则转向步骤S122;
步骤S120:将当前非激活视图层字符的笔画颜色逐渐变淡,直到消失不显示;
步骤S121:清除非激活视图层的字符图像及与其相关笔画信息;转向步骤S123;
步骤S122:将当前非激活视图层字符的笔画颜色变换为另外一种颜色B进行显示;
步骤S123:判断是否还有新的笔画输入,如果答案为是,则转向步骤S112;否则转向步骤S126;
步骤S124:保持当前笔画颜色不变;
步骤S125:,判断是否还有新的笔画输入,如果答案为是,则转入步骤S112,否则转入步骤S126;
步骤S126,将当前所书写的字符数据提交给识别引擎进行识别,并输出识别结果;
步骤S127,结束。
作为本发明的一种优选方案,步骤S114中,判断当前书写的笔画与之前已经输入的笔画是否属于同一个字符根据当前书写笔画的几何位置信息与之前已经输入的所有笔画组成的字符的几何位置信息之前的关系来进行判断。
作为本发明的一种优选方案,步骤S114中,结合识别结果进行辅助判断,具体做法是:对除了当前笔画之外已经书写的颜色为颜色A所有笔画的构成的字符进行识别,如果识别置信度高,则判断当前笔画与之前的笔画不属于同一个字符;
判断识别引擎识别某个手写字符的识别置信度的办法是:
计算待识别字符属于首候选字符的概率与待识别字符属于第二候选字符的考虑之差,如果该差值大于某一个设定的阈值,则认为该识别引擎给出的识别结果可信度高;
计算待识别字符属于某个候选识别结果字符的概率的方法由识别分类器给出;
以二次判决函数分类器作为分类器,该概率近似等于二次判决函数分类器给出的识别距离的负指数幂。
作为本发明的一种优选方案,步骤S114中,判断当前书写的笔画与之前已经输入的颜色为A的所有笔画是否属于同一个字符的方法包括:
步骤141,判断当前笔画是否为用户所输入的第一个笔画;若是,转至步骤146;否则转至步骤142;
步骤142,判断当前笔画是否是位于前一笔画右侧的新写文字笔画;若是转至步骤145;否则转至步骤143;
步骤143,判断当前笔画是否与别的已经书写的笔画重叠;若是转至步骤144;否则转至步骤145;
步骤144,判断当前笔画与已经书写笔画的重叠程度大于某个给定阈值;若是转至步骤146;否则转至步骤145;
步骤145,返回当前输入的笔画与之前已经输入的笔画可能属于同一个字符的判断结果;
步骤146,返回当前输入的笔画与之前已经输入的笔画不属于同一个字符的判断结果。
作为本发明的一种优选方案,步骤S119中,判断识别引擎识别某个手写字符的识别置信度的办法是:
计算待识别字符属于首候选字符的概率与待识别字符属于第二候选字符的考虑之差,如果该差值大于某一个设定的阈值,则认为该识别引擎给出的识别结果可信度高;
计算待识别字符属于某个候选识别结果字符的概率的方法由识别分类器给出;
以二次判决函数分类器作为分类器,该概率近似等于二次判决函数分类器给出的识别距离的负指数幂。
一种重叠书写的手写输入方法,所述手写输入方法包括如下步骤:
步骤S111:通过触摸单元接触触摸屏,开始输入笔画;
步骤S112:触摸单元在触摸屏上移动,记录并在触摸屏上的手写区域显示笔画轨迹,同时用给定的颜色A绘制出当前笔画轨迹;
步骤S113:触摸单元离开触摸屏,当前笔画的输入结束;
步骤S114:判断当前书写的笔画与之前已经输入的颜色为A的所有笔画是否属于同一个字符;如果答案为是,保持当前笔画颜色不变;如果答案为否,转到步骤S115;
步骤S115:判断屏幕上是否存在有非激活视图层的字符;所谓非激活视图层的字符,是指上一次已经书写完整且经过识别及颜色变换处理的字符,该字符在步骤S117中给出定义;如果答案为是,转向步骤S116;如果答案为否,则转向步骤S117;
步骤S116:清除非激活视图层的字符图像及与其相关笔画信息;
步骤S117:定义除当前笔画之外其余所有颜色值为A的笔画所构成的字符为非激活视图层字符;转至步骤S118;
步骤S118:将当前非激活视图层字符数据提交给识别引擎进行识别,输出识别结果。
作为本发明的一种优选方案,所述方法在步骤S118之后进一步包括:
步骤S119:判断识别引擎给出的识别结果是否足够可信;如果答案为是,则转向步骤S120;否则转向步骤S122;
步骤S120:将当前非激活视图层字符的笔画颜色逐渐变淡,直到消失不显示;
步骤S121:清除非激活视图层的字符图像及与其相关笔画信息;转向步骤S123;
步骤S122:将当前非激活视图层字符的笔画颜色变换为另外一种颜色B进行显示;转向步骤S123;
步骤S123:判断是否还有新的笔画输入,如果答案为是,则转向步骤S112;否则转向步骤S126;
步骤S125:,判断是否还有新的笔画输入,如果答案为是,则转入步骤S112,否则转入步骤S126;
步骤S126,将当前所书写的字符数据提交给识别引擎进行识别,并输出识别结果;
步骤S127,结束。
为了实行本发明,需具备如下硬件条件:该设备中需要有一般的运算和存储装置,包括一定频率的CPU(中央处理器),有一定用来运算的内存和用来存储系统软件,基本的操作系统,应用软件和各种数据的存储空间等。该设备中需要有可进行手写输入的触摸屏,该触摸屏上可以指定任意区域为手写输入区域,该触摸屏上还有识别结果的显示区域,命令按钮区域等等。
本发明的有益效果在于:本发明提出的重叠书写的手写输入方法,使得用户在触摸屏上进行重叠书写时,所提出的界面显示处理方法可以使得不同的重叠字符都能很好的反馈显示给用户,而不会导致显示界面的混乱,从而保证用户可以在此友好的界面下按照自然书写的习惯进行连续的手写输入,可以不间断地连续书写多个手写文字,从而有效的提高了手写输入的效率。
附图说明
图1演示了一种常规重叠书写方式书写“科学”这两个字符时界面显示的效果。(未经过本发明方法进行处理)
图2演示了按照常规重叠书写方式书写“科学家”这三个字符时屏幕界面显示的效果。(未经过本发明方法进行处理)
图3是本发明手写输入方法的流程图。
图4是判断当前书写笔画与之前笔画是否属于同一个字符步骤的流程图。
图5演示了进行重叠书写“科学”这两个字符时,按照本发明方法处理后屏幕界面显示的效果。
图6演示了重叠书写方式书写“科学家”这三个字符时,按照本发明方法处理的过程及相应的屏幕界面显示的效果。
图7演示了重叠书写方式书写“科学”这两个字符时,当第一个字符“科”的识别置信度高时,其颜色渐变处理后的屏幕界面显示的效果。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
实施本发明专利的设备可以采用带触摸屏的智能手机(例如HTC/GoogleNexus One智能手机),该手机带有触摸屏,可以采集用户手指书写的笔画轨迹。采用C++语言编制相应的各类处理程序,便能很好的实施本发明。本发明也可以在平板电脑、PDA、GPS终端等其它移动电子设备上实现;本发明也可以采用C语言、Java语言等其它编程语言进行实现。
请参阅图3,本发明揭示了一种重叠书写的手写输入方法,所述手写输入方法包括如下步骤:
【步骤100】开始,进行初始化处理:清空屏幕,清空非激活视图层字符。
【步骤110】手写笔或手指接触触摸屏,开始输入笔画。
【步骤120】手写笔或手指在触摸屏上移动,记录并在触摸屏上的手写区域显示笔画轨迹,同时用颜色值RGB(255,0,0)绘制出当前笔画轨迹。
【步骤130】手写笔或手指离开触摸屏,当前笔画的输入结束。
【步骤140】判断当前书写的笔画与之前已经输入的颜色为红色(其RGB值取为(255,0,0))的所有笔画是否属于同一个字符?如果答案为是,转到步骤240。如果答案为否,转到步骤150。
判断当前书写的笔画与之前已经输入的笔画是否属于同一个字符可以根据当前书写笔画的几何位置信息与之前已经输入的所有笔画组成的字符的几何位置信息之前的关系来进行判断,一个具体的实现流程图如图4所示。为了提高判断准确性,还可结合识别结果进行辅助判断,具体做法是:对除了当前笔画之外已经书写的颜色为红色(RGB(255,0,0))所有笔画的构成的字符进行识别,如果识别置信度高,则判断当前笔画与之前的笔画不属于同一个字符。
判断识别引擎识别某个手写字符的识别置信度的办法是:计算待识别字符属于首候选字符的概率与待识别字符属于第二候选字符的考虑之差,如果该差值大于某一个设定的阈值(例如0.5),则认为该识别引擎给出的识别结果可信度高。计算待识别字符属于某个候选识别结果字符的概率的方法由识别分类器给出,在本实施案例中,以二次判决函数分类器作为分类器,该概率近似等于二次判决函数分类器给出的识别距离的负指数幂。
请参阅图4,判断当前书写的笔画与之前已经输入的颜色为A的所有笔画是否属于同一个字符的方法包括如下步骤:
步骤141,判断当前笔画是否为用户所输入的第一个笔画;若是,转至步骤146;否则转至步骤142;
步骤142,判断当前笔画是否是位于前一笔画右侧的新写文字笔画;若是转至步骤145;否则转至步骤143;
步骤143,判断当前笔画是否与别的已经书写的笔画重叠;若是转至步骤144;否则转至步骤145;
步骤144,判断当前笔画与已经书写笔画的重叠程度大于某个给定阈值;若是转至步骤146;否则转至步骤145;
步骤145,返回当前输入的笔画与之前已经输入的笔画可能属于同一个字符的判断结果;
步骤146,返回当前输入的笔画与之前已经输入的笔画不属于同一个字符的判断结果。
【步骤150】判断屏幕上是否存在有非激活视图层的字符(所谓非激活视图层的字符,是指上一次已经书写完整且经过识别及颜色变换处理的字符,该字符在步骤170中给出定义),如果答案为是,转向步骤160;如果答案为否,则转向步骤170。
【步骤160】清除非激活视图层的字符图像及与其相关笔画信息;
【步骤170】定义除当前笔画之外其余所有颜色值为红色的笔画所构成的字符为非激活视图层字符;
【步骤180】将当前非激活视图层字符数据提交给识别引擎进行识别,输出识别结果;
【步骤190】判断识别引擎给出的识别结果是否足够可信?如果答案为是,则转向步骤200;否则转向步骤220。
判断识别引擎识别某个手写字符的识别置信度的办法是:计算待识别字符属于首候选字符的概率与待识别字符属于第二候选字符的考虑之差,如果该差值大于某一个设定的阈值(例如0.5),则认为该识别引擎给出的识别结果可信度高。计算待识别字符属于某个候选识别结果字符的概率的方法由识别分类器给出,在本实施案例中,以二次判决函数分类器作为分类器,该概率近似等于二次判决函数分类器给出的识别距离的负指数幂。
【步骤200】将当前非激活视图层字符的笔画颜色逐渐变淡,直到消失不显示;在本实施示例中,设屏幕背景颜色为白色(RGB(255,255,255)),则具体实现颜色渐变的伪C语言描述如下:
{
定义颜色变量i=0;
定义颜色变量j=0;
while(i<=255&&j<=255)
{
笔画颜色变换为RGB(255,i,j);
i=i+10;
j=j+10;
显示笔画颜色;
延时1ms;
}
}
具体的实现效果如图7所示。
【步骤210】清除非激活视图层的字符图像及与其相关笔画信息;转向步骤230;
【步骤220】将当前非激活视图层字符的笔画颜色变换为浅灰色(RGB(190,190,190)进行显示;
图5演示了进行重叠书写“科学”这两个字符时,按照上述步骤处理后屏幕界面显示的效果。
【步骤230】判断是否还有新的笔画输入,如果答案为是,则等待用户输入新的笔画,转向步骤120;否则转向步骤260;
【步骤240】保持当前笔画颜色不变;
【步骤250】判断是否还有新的笔画输入,如果答案为是,则等待用户输入新的笔画,转入步骤120,否则转入步骤260;
【步骤260】将当前所书写的字符数据提交给识别引擎进行识别,并输出识别结果;
【步骤270】结束。
图6演示了重叠书写方式书写“科学家”这三个字符时,按照本发明方法所述的上述处理的过程及相应的屏幕界面显示的效果。
实施例二
本实施例揭示一种重叠书写的手写输入方法,所述手写输入方法包括如下步骤:
步骤S111:通过触摸单元接触触摸屏,开始输入笔画;
步骤S112:触摸单元在触摸屏上移动,记录并在触摸屏上的手写区域显示笔画轨迹,同时用给定的颜色A绘制出当前笔画轨迹;
步骤S113:触摸单元离开触摸屏,当前笔画的输入结束;
步骤S114:判断当前书写的笔画与之前已经输入的颜色为A的所有笔画是否属于同一个字符;如果答案为是,保持当前笔画颜色不变;如果答案为否,转到步骤S115;
步骤S115:判断屏幕上是否存在有非激活视图层的字符;所谓非激活视图层的字符,是指上一次已经书写完整且经过识别及颜色变换处理的字符,该字符在步骤S117中给出定义;如果答案为是,转向步骤S116;如果答案为否,则转向步骤S117;
步骤S116:清除非激活视图层的字符图像及与其相关笔画信息;
步骤S117:定义除当前笔画之外其余所有颜色值为A的笔画所构成的字符为非激活视图层字符;转至步骤S118;
步骤S118:将当前非激活视图层字符数据提交给识别引擎进行识别,输出识别结果。
优选地,所述方法在步骤S118之后进一步包括:
步骤S119:判断识别引擎给出的识别结果是否足够可信;如果答案为是,则转向步骤S120;否则转向步骤S122;
步骤S120:将当前非激活视图层字符的笔画颜色逐渐变淡,直到消失不显示;
步骤S121:清除非激活视图层的字符图像及与其相关笔画信息;转向步骤S123;
步骤S122:将当前非激活视图层字符的笔画颜色变换为另外一种颜色B进行显示;转向步骤S123;
步骤S123:判断是否还有新的笔画输入,如果答案为是,则转向步骤S112;否则转向步骤S126;
步骤S125:,判断是否还有新的笔画输入,如果答案为是,则转入步骤S112,否则转入步骤S126;
步骤S126,将当前所书写的字符数据提交给识别引擎进行识别,并输出识别结果;
步骤S127,结束。
综上所述,本发明提出的重叠书写的手写输入方法,使得用户在触摸屏上进行重叠书写时,所提出的界面显示处理方法可以使得不同的重叠字符都能很好的反馈显示给用户,而不会导致显示界面的混乱,从而保证用户可以在此友好的界面下按照自然书写的习惯进行连续的手写输入,可以不间断地连续书写多个手写文字,从而有效的提高了手写输入的效率。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。