识别在文档中使用的语言并且基于识别的语言执行OCR识别的方法和装置制造方法及图纸

技术编号:11584046 阅读:71 留言:0更新日期:2015-06-10 17:28
在此提供一种基于每个字符的笔画数识别文档中使用的语言的方法和装置。一旦识别,可以基于识别的语言进行字符识别。在一个实施例中,字符识别引擎用于字符识别,其中,字符识别引擎是为识别的语言特制的。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及确定文档中使用的是什么语言,并且更具体地涉及一种用于识别在文档中使用的语言,并执行基于识别的语言执行字符识别的方法和装置。
技术介绍
在大多数字符识别应用中,对每一个书写字符进行分析,并试图识别该字符。如已经使用字符识别的人所知,这个过程可能需要一定时间。例如,在常用的字符识别软件中,对一个15页的文档执行字符识别可能花费一分钟。如果可以减少这个时间段,将是有益的。因此,需要有一种比现有技术更快的执行字符识别的方法和装置。【附图说明】在附图的各个独立示图中,相同的附图标记是指相同或功能相似的要素,附图与在下面的具体实施例一起,被并入本说明书并且形成本说明书的一部分,以及用来进一步说明各种实施例,并且解释根据本专利技术的各种原理和优势。图1示出字符中的每个笔画被分离的字符。图2示出具有彼此交叉的笔画的字符。图3示出特定字符的笔画的确定。图4是示出光学字符识别(OCR)设备的框图。图5是示出图4的OCR设备的操作的流程图。图6示出薄线以帮助识别字符。本领域技术人员将理解的是,附图中的要素为了简明和清晰起见而被图示,并且不一定按比例绘制。例如,附图中的部分要素的尺寸可以相对于其它要素被夸大,以帮助提高对本专利技术的实施例的理解。而且,为了促进对于本专利技术的这些各种实施例的不太混乱的查看,通常不描绘在商业上可行的实施例中实用或必要的常见而公知的要素。应当进一步认识到,可以以特定的发生顺序来描述或描绘特定的动作和/或步骤,而本领域中的技术人员将理解,实际上不需要这样的关于顺序的指定。【具体实施方式】为了缓解上述需要,在本文中提供一种用于识别在文档中使用的语言的方法和装置。一旦识别,可用基于识别的语言进行字符识别。在一个实施例中,字符识别引擎被用于字符识别,其中,字符识别引擎是为识别的语言特制的。更具体地,当以多种语言中的一种撰写文档时,可以识别打印的文档(或字符)的主要语言,并且在字符识别中使用相应的识别引擎。如所讨论的,字符识别引擎是为识别的语言特制的。在此方法中,根据识别的语言,分别使用不同的识别引擎。为了识别字符或文档中使用的语言,确定在书写字符时使用的笔画数。然后,笔画数确定当执行字符识别时使用何种识别引擎。在不同的语言之间,每个字符的平均笔画数差异非常大。作为示例,对于汉语,每个字符的平均笔画数约为15。对于英语,每个字符的平均笔画数约为2。在本专利技术的一个实施例中,确定字符中使用的笔画数,并且该信息用于确定在文档中使用的主要语言。一旦语言已经被识别,可以使用特制的识别引擎来识别文档中的字符。上述用于识别语言和执行字符识别的技术可以大大减少字符识别所需的时间量。更具体地,因为字符中的笔画数可以被快速识别,所以文档中使用的语言可以被快速识别。这允许在识别特定字符时使用特定识别引擎(针对所识别的语言)。例如,第一识别引擎可能仅能够识别来自第一语言(例如,英语)的字符,而第二识别引擎可能仅能够识别来自第二语言(例如,汉语)的字符。由于对于一小组字符只利用单个识别引擎,因此可以显着加快字符识别处理。换句话说,因为不使用同时包含英语和汉语字符的较大识别引擎,可以加快字符识别处理。_5] 估计字符中的笔画数:笔画被定义为从笔按压(端点)开始且在笔抬起(也是端点)结束的曲线/直线。一个字符包括几个笔画。笔画可以与其它笔画交叉。所有字符可被分为两大类:A.字符的各笔画被分离的字符(图1)。在这种情况下,很容易获得字符的笔画数。具体而言,可以容易地计算一个字符的端点数。在图1中,端点数是笔画数的2倍。因此,如果我们知道端点数,就可以得到一个字符的笔画数。B.具有相互交叉笔画的字符。大多数汉语字符包括彼此相交的笔画(图2)。当这种情况时,更难得到一个字符中的端点数。我们观察到,交叉的笔画总是具有交叉点,位于一个笔画的中心或者的端部。我们可以将交叉点分成3种情况。对于每一种情况,我们给出规则以得到有效的端点数:对于201所描绘的情况,在交叉点周围有四个分支。在交叉点处,假定没有端点。对203中所描绘的情况,在交叉点处有三个分支。在交叉点处,假定存在一个端点。对205中所描绘的情况,其中两条线相交,如果前一像素与后一像素之间的角度大于阈值(例如,60度),则它被定义为交叉点。在交叉点处,假定存在两个端点。为了估计字符中的总笔画数,我们检查字符的所有端点和交叉点。端点是仅具有一个邻居的像素,并且交叉点是上述三种情况。每个实际端点为总端点数贡献一个,而对于交叉点,我们可以基于图2所示的上述三种情况积累数量。例如,在图3,总端点数是10(以计算的笔画数加圈和编号),所以笔画数量是5。(请注意,我们计算的端点数是实际笔画数的2倍)。在获得字符的笔画数后,此值可用于确定该字符的语言。例如,如果笔画数高于第一阈值,则语言可以被识别为第一语言(例如,汉语、日语、韩语、…等)。然而,如果笔画数低于第一阈值,则语言可以被识别为第二语言(例如,英语、西班牙语、...等)。例如,该阈值可以是4。因此,如果在英语和汉语之间确定(在大多数情况下,不存在笔画数大于4的英语字符),则若笔画数大于4,我们假设以汉语撰写该字符(和在某些情况下,整个文档),否则该字符是英语。上述技术可用于基于任意数量的样本字符中每个字符的平均笔画数确定文档是以汉语撰写还是以英语撰写。例如,可以采样15个字符,并且获得每个字符的平均笔画数。这可用于确定文档是以第一语言撰写或以第二语言撰写。一旦语言被识别,可以进行字符识别。更具体地,使用字符识别引擎进行字符识别,其中,字符识别引擎是为识别的语言特制的。为特定语言特制字符引擎提供了具有仅包括来自特定语言字符的字符集的字符引擎。因此,第一字符识别引擎可以用于第一识别语言,而第二字符识别引擎可以用于识别第二语言。第一字符识别引擎将不能够从第二语言识别字符,而第二字符识别引擎将不能够从第一语言识别字符。图4是示出根据本专利技术的一个实施例的光学字符识别(OCR)设备400的框图。通常,如在此使用,OCR设备400被“配置”或“适用于”是指使用一个或多个组件(例如存储器元件、网络接口和中央处理单元)实现装置400,其中,可操作地耦接所述一个或多个组件,并且当对所述一个或多个组件进行编程时,对这些系统元件形成实现它们期望的功能,例如,如通过参照图5所示的方法示出的装置。OCR装置400包括处理器401,其与各种系统组件可通信地耦接,包括存储字符识别引擎407的存储器,存储字符识别程序403的存储部件,存储操作系统405的存储部件,存储语言识别程序411的存储部件,存储文档409的存储部件和图形用户界面(GUI)413。应当注意,尽管在图4中所有存储部件分别示出,但是本领域的普通技术人员将认识到,可以组合任意数量的存储部件403-413。另外,为了便于说明,在图4中仅示出有限数量的系统元件,但是OCR装置400中可以包括附加的此类元件。在本专利技术的一个实施例中,所有存储部件包括标准的随机存取存储器,而处理器401包括数字信号处理器(DSP)、通用微处理器,可编程逻辑设备或者专用集成电路(ASIC),且用于使用语言识别程序411来确定任何存储文件409所使用的语言或输入到GUI413时所使用的语言。一旦处理器401已经确本文档来自技高网...

【技术保护点】
一种方法,包括以下步骤:接收文本;对于所述文本确定每个字符的平均笔画数;基于所述每个字符的平均笔画数识别所述文本所使用的语言。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:赵明熙陈士杰何启贞林崴
申请(专利权)人:摩托罗拉解决方案公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1