确定平均字符宽度的方法和装置及字符切分方法和设备的制作方法

文档序号:6437910阅读:194来源:国知局
专利名称:确定平均字符宽度的方法和装置及字符切分方法和设备的制作方法
技术领域
本发明涉及用于切分文档图像(具体地,文本行或文本列)中的字符的字符切分方法和设备,并且更特别地,涉及用于通过使用平均字符宽度来执行字符切分的方法和设备,所述平均字符宽度是通过用于确定文档图像中的文本行或文本列的平均字符宽度的方法和装置而得到的。
背景技术
在光学字符识别(OCR)系统中,通常例如通过使用“黑像素投影”的方法来执行字符切分。但是,当使用该方法时,将出现两种切分错误。一种切分错误是“不能检测连通字符的切分点”,另一种切分错误是“将至少由两部分构成的并且在这些部分之间具有空白的字符(以下,为了简洁起见,这样的字符将被称为具有规定结构的字符),例如具有左右结构或者上下结构的字符,划分为两个或多个部分”。例如,在中文字符中常常出现上述的“连通字符”和“具有规定结构的字符”。图12示例性地示出了一些错误切分的字符。鉴于以上情况,作为有效的辅助手段,当文档图像中的文本段或文本行/列包括宽度基本上相互一致的字符时,平均字符宽度(ACW)常常被用于进一步切分连通字符以及合并具有规定结构的字符的各部分。具体地,对于连通字符,基于图像的切分方法(例如投影,轮廓或相邻列的黑像素连通度等)可能能够通过调整它们的阈值来检测切分点。但是,即便如此,也出现错误的切分点。在很多情况下,正确的切分点只是所有被检测的切分点中的一小部分。如果不加考虑地处理所有的切分点,那么OCR的速度将急剧降低。此时,平均字符宽度可以对于切分点的数量和它们的位置进行粗略的估计,并且,很多错误的切分点将被放弃。这样,可以大大地提高OCR的速度。另外,对于具有规定结构的字符,当两个或更多个被误分离的部分是被OCR引擎支持的字符或者是具有相似的形状并且具有较高识别置信度的字符时,基于识别置信度的切分后处理方法难以找到正确的切分图形。此时,这些字符的宽度与平均字符宽度之间的差可被用来判断哪个切分图形在当前行/列中是合理的,这能够有效地提高字符切分的精度。因此,为了校正被误分离的或被误组合的字符,希望以高的精度计算平均字符宽度,并且不精确的平均字符宽度将导致切分错误,由此将降低OCR的精度。当前,存在两种用于计算平均字符宽度的方法。第一种方法(也被称为“方法I”)在本文被称为行高方法,其中,基于字符的宽高比遵循某个限制的假设,可通过将文本行的高度(以下被称为“行高”)乘以某个系数而得到文本行的平均字符宽度。通过上述方法得到的平均字符宽度通常可满足上面的切分要求,但是,该方法难以应对常常出现在标题或页眉等中的太宽或太窄的字符。第二种方法(也被称为“方法2”)在本文中被称为宽高比(简写为WHR)范围方法,其中,基于诸如“黑像素投影”的通常的切分方法的切分结果,具有合理宽高比(WHR)的字符被选择并且然后这些所选字符的宽度的平均值被用作文本行的平均字符宽度。但是,在应用第二种方法时,设置宽高比的范围是困难的。具体地,如果宽高比的限制是严格的,那么该方法同样不能处理太宽或太窄的字符;相反,在不严格的限制下,一些被误切分的字符将影响平均字符宽度的精度,当文本行短时或者当存在很多具有规定结构的字符时尤其如此。由上可知,这两种方法不能处理所有的情况。也就是说,由这两种方法所得到的平均字符宽度不一定在所有情况下是精确的或者准确的(反映字符的真实宽度)。日本专利公布N0.JP 2000-040122公开了一种字符切分方法。具体地,在该方法中,在执行字符切分和得到粗略的切分结果之后,计算各字符的宽度柱状图并且将字符数量最多的字符宽度当作标准字符宽度。在该方法中,使用了各字符的宽度的分布,并且与上面描述的方法2有点相似。日本专利公布N0.H05-114048公开了一种用于识别字符的方法和设备,其中,通过利用投影的方法来执行字符切分,并且根据切分结果计算平均字符宽度。当单个字符的宽度大于平均字符宽度时,将通过边界追踪方法对该字符再次切分。但是,该方法仅关注如何利用平均字符宽度,而没有关注如何计算平均字符宽度。然而,缺少有效的用于判断所得到的平均字符宽度是否适当的方法。进一步地,如果所得到的平均字符宽度不适当,则需要用于得到适当的平均字符宽度的方法。

发明内容
本发明旨在解决上面描述的问题。本发明的一个目的是提供解决上面的问题之一或其全部的方法和装置。根据本发明的第一方面,提供一种用于确定字符组的平均字符宽度的方法,所述方法包括:第一平均字符宽度得到步骤,通过第一平均字符宽度计算方法得到字符组的第一平均字符宽度;置信度得到步骤,通过置信度计算方法得到第一平均字符宽度的置信度;以及平均字符宽度确定步骤,根据第一平均字符宽度的置信度来确定字符组的平均字符宽度是等于第一平均字符宽度还是等于第二平均字符宽度,其中,所述第二平均字符宽度是通过不同于第一平均字符宽度计算方法的第二平均字符宽度计算方法得到的。根据本发明的第二方面,提供一种用于确定字符组的平均字符宽度的装置,所述装置包括:第一平均字符宽度得到单元,被配置为通过第一平均字符宽度计算部件来得到字符组的第一平均字符宽度;置信度得到单元,被配置为通过置信度计算部件得到第一平均字符宽度的置信度;以及平均字符宽度确定单元,被配置为根据第一平均字符宽度的置信度来确定字符组的平均字符宽度是等于第一平均字符宽度还是等于第二平均字符宽度,其中,所述第二平均字符宽度是通过不同于第一平均字符宽度计算部件的第二平均字符宽度计算部件得到的。根据本发明的第三方面,提供一种用于切分字符组的方法,所述方法包括:使用上面所述的用于确定字符组的平均字符宽度的方法来确定字符组的平均字符宽度;以及根据字符组的平均字符宽度对字符组执行字符切分与合并。根据本发明的第四方面,提供一种用于切分字符组的设备,所述设备被配置为通过上面所述的用于确定字符组的平均字符宽度的装置来确定字符组的平均字符宽度并且根据字符组的平均字符宽度对字符组执行字符切分与合并。
从以下参照附图的描述,本发明的其它特性特征和优点将变得清晰。


并入到说明书中并且构成说明书一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,相似的附图标记用于表示相似的项。图1是示出用于实现用于确定字符组的平均字符宽度的装置的计算设备的布置的框图。图2A和图2B是分别示例性地示出文本行和文本列的“行高”、“行宽”、以及“字符宽度”或“字符的宽度”(将在本文中使用)的解释图。图3是示出实现根据本发明的第一实施例的用于确定字符组的平均字符宽度的方法的过程的流程图。图4是示出一种置信度计算方法的示例性过程的流程图。图5是示出另一种置信度计算方法的示例性过程的流程图。图6是示出再一种置信度计算方法的示例性过程的流程图。图7是示出根据本发明的参照相邻的(前一个或后一个)字符组的平均字符宽度计算方法的示例性过程的流程图。图8是示出根据本发明的第六实施例的通过将几种不同的ACW计算方法组合在一起来实现混合ACW计算方法的示例性过程的流程图。图9示出了根据本发明的用于确定字符组的平均字符宽度的装置的框图。图10示出了根据本发明的另一个用于确定字符组的平均字符宽度的装置的框图。图11包括图11A、图1lB和图11C,并且示出了本发明的切分结果与现有技术的切分结果之间的比较。图12示例性地示出了一些错误切分的字符。图13示出了几个字符的示例性黑像素投影。
具体实施例方式以下将参照附图来详细描述本发明的实施例。在本发明中,尤其是当用于文档图像中时,对于文本行而言,术语“行高”(用H表示)和术语“行宽”(用W表示)分别指的是文本行的高度和宽度,并且术语“字符宽度”或“字符的宽度”(用h表示)指的是字符的宽度,如图2A所示的那样;对于文本列而言,术语“行高”(用H表示)和术语“行宽”(用W表示)分别指的是文本列的宽度和高度,并且术语“字符宽度”或“字符的宽度”(用h表示)指的是字符的高度,如图2B所示的那样。这里,关于文本行和文本列,文本行意味着其中的字符以基本水平的顺序被排列,并且文本列意味着其中的字符以基本垂直的顺序被排列。但是,它们的定义仅是示例性的,并且它们是可以彼此互换的。另外,在本说明书和权利要求书中,术语“黑像素投影”指的是通过投影所得到的文本行中的像素列或文本列中的像素行的黑像素的数量,如本领域普通技术人员已知的。在本说明书和权利要求书中,术语“左”和“右”表示当以人们在阅读书本或文档时通常所用的普通方式来观看页面时的左手侧和右手侧。下面,将以文本行为例进行描述,并且本领域普通技术人员可以理解,本发明也可适用于文本列。顺便提一句,字符组(例如文本行)的平均字符宽度是该字符组中的字符的宽度的平均值。例如,如果字符组中的字符的宽度分别为12、13、11、14、12、10(例如,以像素为单位),则该字符组的平均字符宽度为12。另外,这里,与一个字符集对应的一个平均字符宽度的置信度被用于表示该平均字符宽度与该字符集的真实平均字符宽度的接近程度。图1是示出用于实现根据本发明的用于确定字符组的平均字符宽度的装置的计算设备的布置的框图。为了简单起见,该装置被示出为构建在单个计算设备中。然而,无论该装置构建在单个计算设备中还是构建在作为网络系统的多个计算设备中,该装置都是有效的。如图1所示,计算设备100用于实现确定字符组的平均字符宽度的处理。计算设备100可以包含CPU 101、芯片组102、RAM 103、存储控制器104、显示控制器105、硬盘驱动器106、⑶-ROM驱动器107、以及显示器108。计算设备100还可以包括连接在CPU 101和芯片组102之间的信号线111、连接在芯片组102和RAM 103之间的信号线112、连接在芯片组102和各种外围设备之间的外围设备总线113、连接在存储控制器104和硬盘驱动器106之间的信号线114、连接在存储控制器104和⑶-ROM驱动器107之间的信号线115、以及连接在显示控制器105和显示器108之间的信号线116。客户端120可以直接或经由网络130连接到计算设备100。客户端120可以例如向计算设备100发送确定字符组的平均字符宽度的处理所需的指令和/或参数,并且计算设备100可以将信息返回给客户端120或者在显示器108上显示信息。[第一实施例]将参照图3来详细描述第一实施例。图3是示出实现根据本发明的第一实施例的用于确定字符组的平均字符宽度的方法的过程的流程图。将在下面详细描述图3。在步骤S301中,通过ACW计算方法(称为第一 ACW计算方法)来得到当前字符组的ACW(称为“第一平均字符宽度”,简写为ACW1)。这里,所得到的ACWl可以是粗略的平均
字符宽度。例如,可以由对于通过例如基于图像的切分方法所得到的初始切分结果的字符宽度求平均而得到粗略的平均字符宽度。再例如,也可通过如上所述的方法I和方法2之一或者任何其它的方法来计算粗略的平均字符宽度。更具体而言,例如,在方法I中,可以通过将当前字符组的行高乘以特定因子而得到ACW,所述特定因子的范围例如为0.8 1.2 (例如,0.9)。另外,例如,对于方法2,可以通过以下操作来得到ACW:在假定一个文本行的字符的宽高比为一定值的情况下,设置字符的宽高比的范围(即,例如设置为
),选择当前字符组中的其WHR在该范围中的字符(例如,通过之前的切分操作得到的切分字符),然后计算所选字符的宽度的平均值作为ACW。另外,优选地,在得到ACWl之前,可以先执行通过使用切分方法来切分当前字符组中的字符的操作。由此得到所切分的字符(初始切分结果,也称为“第一切分结果”)。这里,请注意,第一切分方法可以是但不限于诸如投影、轮廓或相邻列的黑像素连通度之类的基于图像的切分方法。这里,上述的基于图像的切分方法包括基于投影的切分方法,例如,黑像素投影方法。上述的切分操作可得到粗略的字符切分结果,即,包括一些切分得不正确的字符。接着,在步骤302中,通过置信度计算方法(将在后面描述)得到用于表示ACWl与当前字符组(当前字符组可以是文本行或文本列,在下面将以文本行为例)的真实平均字符宽度之间的接近程度的ACWl的置信度。然后,该过程进入到步骤303。步骤303用于确定当前字符组的最终的平均字符宽度(称为“第二平均字符宽度”,简写为“ACW2”),包括步骤3031、3032和3033。首先,在步骤3031,判断ACWl的置信度是否大于或等于第一阈值(简写为“!'!11”,例如0.4)。如果是,则该过程进入到步骤3032。在步骤3032中,将ACWl确定为当前字符组的最终平均字符宽度。另一方面,如果不是,则该过程转到步骤3033,并且同时,将第二平均字符宽度确定为当前字符组的最终平均字符宽度,所述第二平均字符宽度是通过使用不同于上述第一 ACW计算方法的ACW计算方法(称为第二 ACW计算方法)而得到的。这里,第二 ACW计算方法也可以使用方法1、方法2、或者任何其它的ACW计算方法。也就是说,第二 ACW计算方法包括但不限于在本发明中示出的ACW计算方法。但是,请注意,第一 ACW计算方法和第二 ACW计算方法应当彼此不同,以便得到不同的ACW。而且,当重新计算ACW时,例如,也可以考虑下面的判断条件:初始切分结果的字符数量是否大于特定阈值,以及重新计算的ACW的置信度是否大于一定值等。这将在后面示例性地描述。直到现在,通过上述过程确定了文本行(当前字符组)的最终平均字符宽度。这里,请注意,在本说明书中,阈值(包括上述第一阈值和要在后面描述的阈值)仅是示例性的,并且它们不限于在示例性实施例中所示出的值。根据本发明的第一实施例,通过粗略的平均字符宽度的置信度来判断该粗略的平均字符宽度是否可真正地或准确地反映当前字符组的真实平均字符宽度,并且,在不能以高的精度反映真实的平均字符宽度的情况下,可以使用其它的ACW计算方法以尝试得到更精确的平均字符宽度。这样,在不能检测连通字符的切分点和/或具有规定结构的字符被错误地划分为至少两个部分的情况下,通过第二 ACW计算方法重新计算的第二平均字符宽度可以有助于找到正确的切分点和/或防止字符被错误地划分为至少两个部分,由此,可以提高OCR的精度。另一方面,在本实施例中,如果确定ACWl的精度是高的或者是可以接受的,则不需要进一步的处理,因此,可以提高OCR的速度。[第二实施例]根据本发明的第二实施例将示出一种置信度计算方法,该置信度计算方法可以用于第一实施例或者需要计算置信度的任何其它情况。图4是示出根据本发明的一种置信度计算方法的示例性过程的流程图。以下将对该置信度计算方法进行详细描述。首先,已经通过使用任意一种ACW计算方法得到了诸如上述的ACWl或ACW2之类的特定ACW。在步骤401中,以该特定ACW为中心设置字符宽度范围(称为第一范围)。例如,第一范围可被表示如 下:[minCharffidth, maxCharffidth],
其中,minCharffidth = coeffI^sAveCharffidth,maxCharffidth = coefTu*sAveCharWidth。其中,“minCharffidth”和“maxCharffidth”分别是第一范围的下限和上限;“coeffl”在O I之间变化,例如可以为0.75 ;并且,“coeffu”在I 2之间变化,例如可以为1.25 ;“sAveCharWidth”是该特定ACW的值。请注意,第一范围不限于上面的表达,这里也可以使用本领域普通技术人员已知的任何其它表达。然后,在步骤402中,从初始切分结果中选择宽度在第一范围内的字符。接着,在步骤403中, 通过将所选字符的宽度的平均值除以该特定ACW来计算该特定ACW的置信度。通过上述示例性的置信度计算方法,可以判断所得到的平均字符宽度与真实的平均字符宽度(通常用估计的宽度表示所述真实的平均字符宽度)是否充分接近。由此,可以判断是使用所得到的当前字符组的ACWl还是重新计算当前字符组的ACl[第三实施例]本发明的第三实施例将参照图5来示出另一种置信度计算方法,该置信度计算方法可以用于上面描述的平均字符宽度确定方法。图5是示出根据本发明的另一种置信度计算方法的示例性过程的流程图。以下将具体描述该置信度计算方法。首先,与第二实施例类似,已经得到了特定的平均字符宽度。在步骤501中,通过使用聚类(clustering)方法,根据如上所述的初始切分结果中的字符的宽度,将它们聚类到不同的组。这里,聚类方法不限于特定的方法,任何能够将字符划分为不同的组的聚类方法都适用于本发明。为了易于理解,以下示出聚类方法的例子。例如,假定在一个文本行中有宽度分别为wl, w2, w3, w4, w5, w6, w7, w8, w9,和wlO的10个字符。首先,计算w2与wl的比值。如果该比值在某个范围(例如
)内,则将w2聚类到由wl和《2构成的组中。否则,如果该比值在该范围之外,则《2保持原样。继续将其它的宽度与wl进行比较(S卩,以wl作为基准),直到w2 WlO全部被比较。以这种方式,得到两个组,例如,假定是由wl, w2, w4, w5, w8, w9构成的第一组和由w3, w6, w7,wlO构成的第二组。然后,在w6, w7, wlO和w3之间进行比较(即,以w3作为基准)。以这种方式,可以得到新的组,例如,由w3, w6和wlO构成的新的第二组以及由w7构成的第三组。最终,这些字符的宽度被聚类为以下三个组:[¥1,¥2,¥4,¥5,¥8,¥9], [w3, w6, wlO],以及[w7]。这里,请注意,存在各种聚类方法,并且在本发明中不对聚类方法作特别限制。接着,在步骤502中,各组中的字符的宽度的平均值被计算为该组的ACW。接着,在步骤503中,对各组中的各个字符分配权重并且然后得到各组的加权后的字符数量。例如,如果一个组具有权重为
的6个字符,则通过将0.6,1.4,1.4,1.4,0.6,1.4相加,得到该组的加权后的字符数量为6.8。接着,在步骤504中,选择这些组中的具有最大的加权后的字符数量的组。接着,在步骤505中,通过将所选组的平均字符宽度除以该特定平均字符宽度(即,所选组的ACW/该特定ACW)来计算该特定ACW的置信度。这里,如果有至少两个组具有最大的加权后的字符数量,则计算所述至少两个组的ACW的置信度,并且然后可以选择既具有最大的加权后的字符数量又在所述至少两个组中具有最大置信度的组作为所选的组。这里,关于向组中的字符分配权重的方式,考虑以下方面:如果该组内的一个字符具有好的边界点(这意味着黑像素投影在例如左边界和右边界处是小的),则该字符将被分配具有例如大于I且小于2 (例如1.5)的值的权重。另一方面,如果该组中的一个字符具有差的边界点(这意味着黑像素投影在例如左边界和右边界处是大的),则该字符将被分配具有例如小于I且大于O (例如0.5)的值的权重。具体地,首先,判断字符的两个边界(具体地,对于文本行中的字符而言是左边界和右边界;对于文本列中的字符而言是上边界和下边界)处的黑像素投影是否都是波谷(即,最小值)。图13示例性地示出了黑像素投影。在该图中,在第一个字符(字符I)的两个边界处的黑像素投影不是均属于最小值。在该图示出的第三个字符(字符3)在两个边界处具有两个波谷。如果在一个字符的两个边界处的黑像素投影均为波谷,则向该字符分配例如大于I且小于2 (例如1.5)的权重。如果不是,则向该字符分配例如小于I且大于0(例如0.5)的权重。这里,可以仅分配一个较大的权重和一个较小的权重。或者,也可以分配一些较大的权重和一些较小的权重。而且,本发明不将权重值限于上面所示的那些。
·
通过上述的示例性的置信度计算方法,可以判断所得到的平均字符宽度与真实的平均字符宽度(通常用估计的宽度表示所述真实的平均字符宽度)是否充分接近。由此,可以判断使用所得到的平均字符宽度来切分字符是否适当。而且,如果不适当,则可以使用其它的ACW计算方法来得到更精确的ACW。[第四实施例]本发明的第四实施例将参照图6来示出再一种置信度计算方法,该置信度计算方法可以用于上面描述的平均字符宽度确定方法。图6是示出根据本发明的再一种置信度计算方法的示例性过程的流程图。以下将具体描述该置信度计算方法。在步骤601中,设置字符宽度范围(称为“第二范围”),其中心为先得到的特定平均字符宽度(称为“SACW”)。例如,第二范围可以为
接着,在步骤602中,从初始切分结果中选择宽度在第二范围内的字符作为第一字符组。接着,在步骤603中,计算第一字符组的字符数量作为第一字符数量Cl。然后,在步骤604中,根据该特定平均字符宽度,将宽度大于第二范围的上限的字符(称为较大字符)切分为片段。此时,要在该步骤中被切分的字符常常是诸如包含一个完整字符和一个片段/一些片段的字符,其中,所述一个完整字符可位于要被切分的字符的左部或者右部。因此,当将这样的字符切分成片段时,所述一个完整的字符将被保持原样,并且只是将其它的一个片段/一些片段与其切分开。例如,如果所述一个完整的字符位于左部,则可根据特定平均字符宽度从左向右执行切分操作,以便在右侧找到正确的切分点,从而进一步将一个片段/一些片段与其切分开。另一方面,如果所述一个完整的字符位于右部,则可根据特定平均字符宽度从右向左执行切分操作,以在左侧找到正确的切分点,从而进一步将一个片段/一些片段与其切分开。具体地,关于如何切分较大字符,以下示出示例性处理。首先,从较大字符的左边界,向着其右侧方向,提取其与左边界的偏移为所述特定平均字符宽度的位置作为第一提取位置,并且左边界和第一提取位置之间的区域被用作第一切分字符。在下一步骤中,从第η个切分字符(η是大于或等于I的整数)的右边界,向着其右侧方向,提取其与所述第η个切分字符的所述右边界的偏移是特定平均字符宽度的位置作为第(η+1)个提取位置,并且,所述第η个切分字符的所述右边界与第(η+1)个提取位置之间的区域为第(η+1)个切分字符,然后设置η = η+1,重复该步骤直到该较大字符内的剩余区域的宽度小于所述特定平均字符宽度,并且将其宽度小于SACW的剩余的区域当作片段。请注意,上面描述的切分方向仅是示例性的,并且切分方向可以从较大字符的右边界开始,然后沿着相反的方向切分该字符。另外,上面描述的左边界和右边界也是示例性的,并且关于上边界和下边界的操作与上面描述是类似的。此外,本发明不限于这里示出的处理,也可以采用其它的处理,只要这些处理能够得到类似的结果。接着,在步骤605中,将(如上所述的排除了完整字符的)切分片段与宽度小于第二范围的下限的字符(称为较小字符)相组合,以形成新的字符。这里,在下面示出用于组合片段的示例性处理。首先,将上面描述的切分的片段和较小字符均当作片段,然后确定彼此相邻并且其间未被插入有完整字符的片段(即,这些相邻片段是连续的)作为相邻片段组,由此找到当前字符组中的所有的相邻片段组(一个或多个相邻片段组)。然后,对于这些组中的每个相邻片段组,如果组合后的片段的宽度在诸如第二范围的其中心为特定平均字符宽度的一个范围(例如,
)内,则组合任意两个或更多个相邻片段,继续组合这些片段,直到该相邻片段组中没有片段可被组合。例如,如果不能在该相邻片段组的剩余片段中找到任意两个或更多个相邻片段,则该组合过程停止。然后,在步骤606中,选择宽度在第二范围内的新字符作为第二字符组。然后,在步骤607中,计算第二字符组的字符数量作为第二字符数量C2。然后,在步骤608中,通过将第一字符数量Cl和第二字符数量C2的和除以如上所述的初始切分结果中的字符的总数量C (即,(Cl+C2)/C),计算所述特定平均字符宽度的置信度。由此,可以判断使用所得到的平均字符宽度来切分字符是否适当。而且,如果不适当,则可以使用其它的ACW计算方法来得到更精确的ACl[第五实施例]在第五实施例中,将参照图7来描述基于当前字符组的相邻(前一个或后一个)字符组(如果存在这样的相邻字符组)的平均字符宽度的平均字符宽度计算方法(简写为方法3)。图7是示例性地示出根据本发明的该ACW计算方法的过程的流程图。将在下面详细描述图7。可以在图3中的步骤3033之后执行图7的过程。在步骤701中,首先,确定所选相邻字符组然后计算所选相邻字符组的ACW的置信度,所述所选相邻字符组的ACW的置信度用于表示该平均字符宽度与所选相邻字符组的真实平均字符宽度的接近程度,并且是通过上述置信度计算方法中的任意一种而得到的。这里,当确定所选相邻字符组时,在当前字符组仅具有一个相邻字符组(前一个或后一个字符组)的情况下,所述一个相邻字符组被选作所选相邻字符组。
另一方面,当确定所选相邻字符组时,在当前字符组具有两个相邻字符组(例如,前一个文本行和后一个文本行,或者前一个文本列和后一个文本列)的情况下,在相邻字符组的平均字符宽度的置信度之中其平均字符宽度的置信度较大的相邻字符组可被选作所选相邻字符组。或者,本发明也可根据这两个相邻字符组与当前字符组的行高差,从这两个相邻字符组中选择一个,例如,选择一个其与当前字符组的行高差比另一个相邻字符组与当前字符组的行高差小的相邻字符组。本领域普通技术人员将理解,选择方法不限于上面描述的方法。接着,在步骤702中,得到所选相邻字符组(例如所选相邻文本行)的行高与当前字符组(例如,当前文本行)的行高之间的差值。然后,在步骤703中,判断它们之间的差值是否大于或等于第三阈值(简写为“TH3”)。这里,第三阈值TH3可取决于当前文本行和所选相邻文本行中的所有字符之中的最大字符高度。例如,可以通过下式(I)来计算第三阈值:TH3 = toeff*max(cLineHeigh t, sLinehight)式(I),其中,“cLineHeight”和“sLineHeight”分别是当前文本行和所选相邻文本行中的最大字符高度,“toeff”是系数并且在O I之间变化。例如,“toeff”可以位于0.2
0.4内,例如,为0.3。在所述差值大于或等于TH3的情况下,使用第一平均字符宽度作为当前文本行的平均字符宽度(步骤7042),并且终止该过程。在所述差值小于TH3的情况下,判断所选相邻文本行的平均字符宽度的置信度是否大于或等于第四阈值(简写为“TH4”)(步骤7041)。阈值TH4可以取决于所选相邻文本行的字符数量。例如,可以通过下式(2)来计算阈值TH4:
权利要求
1.一种用于确定字符组的平均字符宽度的方法,所述方法包括: 第一平均字符宽度得到步骤,通过第一平均字符宽度计算方法得到字符组的第一平均字符宽度; 置信度得到步骤,通过置信度计算方法得到第一平均字符宽度的置信度;以及平均字符宽度确定步骤,根据第一平均字符宽度的置信度来确定字符组的平均字符宽度是等于第一平均字符宽度还是第二平均字符宽度, 其中,所述第二平均字符宽度是通过不同于第一平均字符宽度计算方法的第二平均字符宽度计算方法得到的。
2.根据权利要求1所述的方法,还包括: 切分步骤,对字符组中的字符进行切分以得到第一切分结果。
3.根据权利要求2所述的方法,其中,对于特定平均字符宽度,所述置信度计算方法包括: 以所述特定平均字符宽度为中心设定字符宽度的范围作为第一范围; 从第一切分结果中选择宽度在第一范围内的字符;以及 计算所选字符的宽度的平均值与所述特定平均字符宽度的比作为所述特定平均字符宽度的置信度。
4.根据权利要求2所述的方法,其中,对于特定平均字符宽度,所述置信度计算方法包 括: 根据第一切分结果中的字符的宽度,通过聚类算法将第一切分结果中的字符聚类到不同的组; 计算各组内的字符的宽度的平均值作为该组的平均字符宽度; 向各组中的字符分配权重并且计算各组的加权后的字符数量; 从各组中选择加权后的字符数量最大的一个组作为所选组;以及计算所选组的平均字符宽度与所述特定平均字符宽度之比作为所述特定平均字符宽度的置信度。
5.根据权利要求4所述的方法,其中,向各组中的字符分配权重包括: 对于各组中的每个字符,如果在作为切分点的两个边界处的黑像素投影均为波谷,则向该字符分配大于I且小于2的权重;而如果在作为切分点的两个边界处的黑像素投影不是均为波谷,则向该字符分配大于O且小于I的权重。
6.根据权利要求2所述的方法,其中,对于特定平均字符宽度,所述置信度计算方法包括: 以所述特定平均字符宽度为中心设定字符宽度的范围作为第二范围; 从第一切分结果中选择宽度在第二范围内的字符作为第一字符组,并且计算所述第一字符组的字符数量作为第一字符数量; 根据所述特定平均字符宽度,将第一切分结果中宽度比第二范围的上限大的字符切分成片段,并将切分的片段与宽度比第二范围的下限小的字符进行组合以形成新的字符; 从所述新的字符中选择宽度在第二范围内的字符作为第二字符组,并计算所述第二字符组的字符数量作为第二字符数量;以及 计算第一字符数量及第二字符数量之和与第一切分结果的字符数量的比作为所述特定平均字符宽度的置信度。
7.根据权利要求2所述的方法,其中,所述第一平均字符宽度计算方法包括: 计算第一切分结果中的字符的宽度的平均值作为字符组的第一平均字符宽度。
8.根据权利要求1所述的方法,其中,所述第一平均字符宽度计算方法包括: 计算字符组的行高与第一特定因子的乘积作为字符组的第一平均字符宽度。
9.根据权利要求2所述的方法,其中,所述第一平均字符宽度计算方法包括: 设定字符宽高比的范围作为第三范围; 选择第一切分结果中字符宽高比处于第三范围内的字符;以及 计算所选字符的宽度的平均值作为字符组的第一平均字符宽度。
10.根据权利要求2 6中的任一项所述的方法,其中,所述第二平均字符宽度计算方法包括: 在第一切分结果的字符数量大于或等于第一阈值的情况下, 设定字符宽高比的范围作为第四范围; 选择第一切分结果中字符宽高比处于第四范围内的字符; 得到所选字符的宽度的平均值作为字符组的第三平均字符宽度; 通过置信度计算方法得到第三平均字符宽度的置信度;以及 根据第三平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第二平均字符宽度。
11.根据权利要求1 6中的任一项所述的方法,其中,所述第二平均字符宽度计算方法包括: 在字符组具有两个相邻字符组的情况下,通过置信度计算方法得到所述两个相邻字符组的平均字符宽度的置信度,并以所述两个相邻字符组之中具有较大的平均字符宽度的置信度的一个相邻字符组作为所选相邻字符组;以及在字符组具有一个相邻字符组的情况下,以这一个相邻字符组作为所选相邻字符组并且通过置信度计算方法得到该所选相邻字符组的平均字符宽度的置信度; 得到字符组的行高与所选相邻字符组的行高之间的差值; 如果所述差值大于或等于第二阈值,则将第一平均字符宽度设为第二平均字符宽度;否则 通过第一平均字符宽度与所选相邻字符组的平均字符宽度的加权平均来得到第四平均字符宽度;以及 根据所选相邻字符组的平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第四平均字符宽度。
12.根据权利要求2 6中的任一项所述的方法,其中,所述第二平均字符宽度计算方法包括: 通过将字符组的行高乘以第二特定因子得到第五平均字符宽度; 在第一切分结果的字符数量小于第三阈值的情况下,将第五平均字符宽度设为第二平均字符宽度,否则 通过置信度计算方法得到第五平均字符宽度的置信度;以及 根据第五平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第五平均字符宽度。
13.根据权利要求1所述的方法,其中,字符组中的字符的宽度彼此一致。
14.一种用于对字符组进行切分的方法,包括: 使用根据权利要求1 13中的任一项所述的方法来确定字符组的平均字符宽度,以及 根据字符组的平均字符宽度来对字符组进行字符切分和合并。
15.一种用于确定字符组的平均字符宽度的装置,所述装置包括: 第一平均字符宽度得到单元,被配置为通过第一平均字符宽度计算部件得到字符组的第一平均字符宽度; 置信度得到单元,被配置为通过置信度计算部件得到第一平均字符宽度的置信度;以及 平均字符宽度确定单元,被配置为根据第一平均字符宽度的置信度,确定字符组的平均字符宽度是等于第一平均字符宽度还是等于第二平均字符宽度, 其中,所述第二平均字符宽度是通过不同于第一平均字符宽度计算部件的第二平均字符宽度计算部件得到的。
16.根据权利要求15所述的装置,还包括切分单元,被配置为对字符组中的字符进行切分以得到第一切分结果。
17.根据权利要求16所述的装置,其中,所述置信度计算部件被配置为: 对于特定平均字符宽度, 以所述特定平均字符宽度为中心设定字符宽度的范围作为第一范围; 从第一切分结果中选择宽度在第一范围内的字符;以及 计算所选字符的宽度的平均值与所述特定平均字符宽度的比作为所述特定平均字符宽度的置信度。
18.根据权利要求16所述的装置,其中,所述置信度计算部件被配置为: 对于特定平均字符宽度, 根据第一切分结果中的字符的宽度,通过聚类算法将第一切分结果中的字符聚类为不同的组; 计算各组内的字符的宽度的平均值作为该组的平均字符宽度; 向各组内的字符分配权重,并且计算各组的加权后的字符数量; 从各组中选择加权后的字符数量最大的一个组作为所选组;以及计算所选组的平均字符宽度与所述特定平均字符宽度之比作为所述特定平均字符宽度的置信度。
19.根据权利要求18所述的装置,其中,所述置信度计算部件进一步被配置为: 对于各组内的每个字符,如果在作为切分点的两个边界处的黑像素投影均为波谷,则向该字符分配大于I且小于2的权重;而如果在作为切分点的两个边界处的黑像素投影不是均为波谷,则向该字符分配大于O且小于I的权重。
20.根据权利要求16所述的装置,其中,所述置信度计算部件被配置为: 对于特定平均字符宽度, 以所述特定平均字符宽度为中心设定字符宽度的范围作为第二范围; 从第一切分结果中选择宽度在第二范围内的字符作为第一字符组,并且计算所述第一字符组的字符数量作为第一字符数量; 根据所述特定平均字符宽度,将第一切分结果中宽度比第二范围的上限大的字符切分成片段,并将切分的片段与宽度比第二范围的下限小的字符进行组合以形成新的字符; 从所述新的字符中选择宽度在第二范围内的字符作为第二字符组,并计算所述第二字符组的字符数量作为第二字符数量;以及 计算第一字符数量及第二字符数量的和与第一切分结果的字符数量之比作为所述特定平均字符宽度的置信度。
21.根据权利要求16所述的装置,其中,所述第一平均字符宽度计算部件被配置为: 计算第一切分结果中的字符的宽度的平均值作为字符组的第一平均字符宽度。
22.根据权利要求15所述的装置,其中,所述第一平均字符宽度计算部件被配置为: 计算字符组的行高与第一特定因子的乘积作为字符组的第一平均字符宽度。
23.根据权利要求16所述的装置,其中,所述第一平均字符宽度计算部件被配置为: 设定字符宽高比的范围作为第三范围; 选择第一切分结果中字符宽高比处于第三范围内的字符;以及 计算所选字符的宽度的平均值作为字符组的第一平均字符宽度。
24.根据权利要求16 20中的任一项所述的装置,其中,所述第二平均字符宽度计算部件被配置为: 在第一切分结果的字符数量大于或等于第一阈值的情况下, 设定字符宽高比的范围作为第四范围; 选择第一切分结果中字符宽高比处于第四范围内的字符; 得到所选字符的宽度的平均值作为字符组的第三平均字符宽度; 通过置信度计算部件得到第三平均字符宽度的置信度;以及 根据第三平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第二平均字符宽度。
25.根据权利要求15 20中的任一项所述的装置,其中,所述第二平均字符宽度计算部件被配置为: 在字符组具有两个相邻字符组的情况下,通过置信度计算部件得到所述两个相邻字符组的平均字符宽度的置信度,并以所述两个相邻字符组中具有较大的平均字符宽度的置信度的一个相邻字符组作为所选相邻字符组;以及在字符组具有一个相邻字符组的情况下,以这一个相邻字符组作为所选相邻字符组,并且通过置信度计算部件得到该所选相邻字符组的平均字符宽度的置信度; 得到字符组的行高与所选相邻字符组的行高之间的差值; 如果所述差值大于或等于第二阈值,则将第一平均字符宽度设为第二平均字符宽度;否则 通过第一平均字符宽度与所选相邻字符组的平均字符宽度的加权平均来得到第四平均字符宽度,以及 根据所选相邻字符组的平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第四平均字符宽度。
26.根据权利要求16 20中的任一项所述的装置,其中,所述第二平均字符宽度计算部件被配置为: 通过将字符组的行高乘以第二特定因子来得到第五平均字符宽度; 在第一切分结果的字符数量小于第三阈值的情况下,将第五平均字符宽度设为第二平均子付览度;否则, 通过置信度计算部件得到第五平均字符宽度的置信度;以及 根据第五平均字符宽度的置信度,确定第二平均字符宽度是等于第一平均字符宽度还是等于第五平均字符宽度。
27.根据权利要求15所述的装置,其中,字符组中的字符的宽度彼此一致。
28.一种用于对字符组进行切分的设备,所述设备被配置为: 通过根据权利要求15 27中的任一项所述的装置来确定字符组的平均字符宽度;以及 根据字符组的平均字符宽 度来对字符组进行字符切分和合并。
全文摘要
本发明提供了确定平均字符宽度的方法和装置以及字符切分方法和设备。用于确定字符组的平均字符宽度的方法包括得到字符组的第一平均字符宽度;通过置信度计算方法得到用于表示第一平均字符宽度与字符组的真实平均字符宽度的接近程度的第一平均字符宽度的置信度;以及根据第一平均字符宽度的置信度,确定字符组的平均字符宽度为第一平均字符宽度还是第二平均字符宽度。
文档编号G06K9/34GK103093224SQ201110355148
公开日2013年5月8日 申请日期2011年11月8日 优先权日2011年11月8日
发明者许梅芳, 罗兆海 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1