用于文档图像的文本行分割方法和系统的制作方法

文档序号:6485680阅读:131来源:国知局
用于文档图像的文本行分割方法和系统的制作方法
【专利摘要】本发明提供用于文档图像的文本行分割方法和系统,所述方法包括:疑似空白像素行确定步骤,根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行;白色路径生成步骤,通过连接由至少两个相邻的疑似空白像素行形成的疑似空白区域中的连通的白像素序列,生成该疑似空白区域的白色路径;以及文本行分割位置确定步骤,根据所生成的各疑似空白区域的白色路径,确定文本行分割位置。
【专利说明】用于文档图像的文本行分割方法和系统
【技术领域】
[0001]本发明涉及用于文档图像的文本行分割方法和文本行分割系统。
【背景技术】
[0002]已有多种文本行分割方法被提出。但是,这些方法对于以下问题不是有效的:在光学字符识别引擎中,当在文档图像中存在噪声或相邻文本行有重叠时,仅通过每个像素行的黑像素投影难以得到好的行分割结果。
[0003]例如,一种方法(称为“直线分割方法”)通过生成具有“像素行内白像素运行长度”的直线像素路径来确定文本行分割位置。这里,“像素行内白像素运行长度”是像素行中的连续白像素序列的长度。在该方法中,计算每个像素行的白像素运行长度,并且,如果一个像素行具有长的白像素运行长度,则将该像素行当作文本行之间的空白像素行。
[0004]为了容易描述上面的直线分割方法,图1示出了两个示例的像素行中的白像素运行长度。在该图中,每个像素行的两个最长白像素运行长度(即,两个比该像素行中的任何其他白像素运行长度长的白像素运行长度),“白像素运行长度I”和“白像素运行长度2”被提取,并且,这两个白像素运行长度被用来判断对应的像素行是空白像素行还是文本像素行。从该图可以看出,上面的像素行将被判断为文本像素行,因为其“白像素运行长度I”和“白像素运行长度2”短,而下面的像素行将被判断为空白像素行,因为其“白像素运行长度
I”和“白像素运行长度2”足够长。
[0005]上面的方法可以改善噪声文本图像的行分割效果,但是它不能分开重叠的文本行,并且,当像素行中的噪声松散分布时,上面的方法对于某些噪声文本行的作用不好。作为例子,图2A、2B和2C示出了该方法的缺点。
[0006]I)如图2A所示,重叠的文本行不能被“像素行内白像素运行长度”分开,原因是由于其中重叠的文字(例如,“上面文本行中的“ g”和中间文本行中的“ i ”,中间文本行中的“P”和下面文本行中的“9”等等)而使得每个像素行的白像素运行长度短。因此,不准确的和不理想的行分割结果难以得到正确的字符切分结果。
[0007]2)如图2B所示,当像素行中的噪声松散分布时,噪声文本行不能被分开。因此,不准确的和不理想的行分割结果难以得到正确的字符切分结果。
[0008]3)如图2C所示,一些空白像素行中的噪声松散分布,空白像素行不能通过“像素行内白像素运行长度”被检测到,原因在于一些像素行的白像素运行长度被这些噪声缩短了,并且它们将被错误地当作文本像素行,即,文本行区域的一部分。因此,不准确的和不理想的行分割结果,将使得一些字符切分结果不够准确。
[0009]上面的方法失效的一个原因在于,该方法关注的仅是像素行层次上的白像素分布,而没有考虑来自相邻像素行的信息。因此,如果文本行之间的像素行包括若干个字符笔划(在重叠文本行中)或噪声点(在噪声文本行中),并且这些笔划或噪声点在整个像素行中是松散分布的,那么难以在该像素行内检测到长的白像素运行长度。
[0010]另外,在日本专利申请JP 3774690B2中,提出了用于分开噪声文本行或重叠文本行的另一种方法,其中,一个粗略的行区域(该行区域可包括两个或更多个文本行)被沿着与行方向垂直的方向分成若干个更小的子区域,利用黑像素投影来检测每个子区域内的行分割位置,并且,分析所有检测到的行分割位置之间的空间关系,然后,考虑分析结果和整个区域的黑像素投影,并且判断不同子区域内的行分割位置是否可作为整个区域的行分割位置被连接在一起。该方法已被证实对于英文的噪声文本行是有效的,但是它仍然具有两个缺点。
[0011]首先,对于东亚语言,一个字符可能包括上下结构,在这上结构和下结构之间存在空白。当一个文本行包括若干个这样的字符时,该文本行可被错误地分成两个文本行。
[0012]其次,该方法可检测粗略的行分割位置,但是,它不能给出准确的行分割位置,因为该方法仅依赖于像素行之间的黑像素投影的差异,它不能从像素行的层次上判断哪些像素行是文本行之间的空白像素行。
[0013]总之,对于重叠文本行和具有松散分布的噪声的文本行,期望提供有效的行分割方法。

【发明内容】

[0014]本发明旨在解决上述的问题。本发明的一个目的是提供一种解决以上问题中的任何一个的方法和系统。具体地,本发明提供一种能够提高文本行分割精度并进一步提升字符切分精度的非直线的文本行分割方法和系统,其通过利用多个像素行的像素分布信息生成非直线的像素路径来确定文本行分割位置。
[0015]根据本发明的第一方面,提供一种用于文本图像的文本行分割方法,所述方法包括:疑似空白像素行确定步骤,根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行;白色路径生成步骤,通过连接由至少两个相邻的疑似空白像素行形成的疑似空白区域内的连通的白像素序列,生成该疑似空白区域的白色路径;以及文本行分割位置确定步骤,根据所生成的各疑似空白区域的白色路径,确定文本行分割位置。
[0016]根据本发明的第二方面,提供一种用于文档图像的文本行分割系统,所述系统包括:疑似空白像素行确定单元,被配置为根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行;白色路径生成单元,被配置为通过连接由至少两个相邻的疑似空白像素行形成的疑似空白区域内的连通的白像素序列,生成该疑似空白区域的白色路径;以及文本行分割位置确定单元,被配置为根据所生成的各疑似空白区域的白色路径,确定文本行分割位置。
[0017]另外,本发明的上述方法进一步包括:空白像素行确定步骤,根据各像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值,确定空白像素行;以及文本行分割位置预先确定步骤,根据所确定的空白像素行,预先确定文本行分割位置。其中,对于由预先确定的文本行分割位置分割的文本行中的像素行执行所述疑似空白像素行确定步骤。这样,通过组合直线分割方法和非直线分割方法,可以大大地提高文本行分割精度。
[0018]而且,在本发明的方法中,在所述疑似空白像素行确定步骤中,如果一个疑似空白像素行没有相邻的疑似空白像素行,则根据该疑似空白像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值来确定该疑似空白像素行是否是空白像素行,并且,如果该疑似空白像素行是空白像素行,则将该疑似空白像素行确定为一个文本行分割位置。这样,可以进一步提高文本行分割精度。
[0019]参照附图阅读示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。
【专利附图】

【附图说明】
[0020]并入到说明书中并且构成说明书一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的项。
[0021]图1示出像素行的白像素运行长度的例子。
[0022]图2A、图2B、图2C示出通过直线文本行分割方法获得的文本行分割和字符切分的结果。
[0023]图3A和图3B示例性地分别示出文本行和文本列的“行宽”。
[0024]图4是示出用于实现文本行分割系统的计算设备的布置的框图。
[0025]图5是示出实现根据本发明第一实施例的文本行分割方法的过程的主要流程图。
[0026]图6示出实现根据本发明第一实施例的文本行分割方法的示例性过程。
[0027]图7示出通过连接疑似空白区域内连通的“像素行的白像素运行长度(白像素序列)”来生成“区域内白像素运行长度”(白像素连通路径)的示例性流程图。
[0028]图8示出由像素行的白像素序列形成的白像素连通路径。
[0029]图9A和图9B示例性地示出连接连通的白像素序列的例子。
[0030]图10A、图1OB和图1OC示出了为一个疑似空白区域生成白色路径的整个过程。
[0031]图11示出根据本发明第二实施例的直线文本行分割方法和非直线文本行分割方法的组合的示例性流程图。
[0032]图12A、图12B和图12C示出执行组合的文本行分割方法来获得文本行分割位置的例子。
[0033]图13示出表示根据本发明第三实施例校正文本行分割位置的过程的示例性流程图。
[0034]图14A?14G不出根据本发明第三实施例校正文本行分割位置的例子。
[0035]图15示出根据本发明的文本行分割系统的框图。
[0036]图16示出根据本发明的另一文本行分割系统的框图。
[0037]图17A?17C示出通过使用本发明获得的文本行分割和字符切分的结果。
【具体实施方式】
[0038]以下将参照附图详细描述本发明的实施例。
[0039]在本发明中,如图3所示,尤其当在文档图像中使用时,对于文本行,术语“行宽”(用W表示)指的是文本行的宽度;对于文本列,术语“行宽”(也用W表示)指的是文本列的高度。这里,关于文本行和文本列,文本行意指其中的字符是水平地排列的,文本列意指其中的字符是垂直地排列的。但是,其定义仅是例示性的。
[0040]在本说明书中,术语“左”和“右”指的是人们阅读书籍或文档时通常所做的那样,以通常的方式观看页面时的左手侧和右手侧。
[0041]此外,这里,术语“黑像素投影”指的是通过投影获得的文本行中的像素列或文本列中的像素行的黑像素的数量,如本领域普通技术人员已知的,并且,术语“白像素序列”指的是像素行中依次排列的多个连续的白像素。此外,请注意,术语“像素行内白像素运行长度”指的是像素行中的连续白像素序列的长度,与后面将描述的“区域内白像素运行长度”不同。
[0042]此外,请注意,当进行文本行分割时,通常要被分割的像素区域需要先被去除边界。例如,可针对由文本像素行和空白像素组成的区域去除上边界和下边界,而可针对由文本像素列和空白像素列组成的区域去除左边界和右边界。需要去除的边界的量取决于文本图像的dpi值,例如,对于300dpi的图像而言,该量为34 (约为10%)。请注意,该值仅是例示性的,该量的具体值应取决于文本图像情况、个人经验等。在边界去除操作之后,将开始关于文本行分割的操作。此时,当计算关于像素行、像素列、或区域的位置时,所计算的位置是基于所述去除操作之后的区域的相应高度或宽度。例如,如果在一个区域中有三个像素行,要被去除的一个边界的量为0.1,那么两个边界(上边界和下边界)的总量为0.2。此时,认为该区域的高度为2.8 (2.8=3-0.2)个像素行。因此,可认为该区域的中间位置为去除操作之后的1.4个像素行,并且,可认为这三个像素行的中间像素行位于去除操作之后的约0.93 (0.93 - 2.8/3)个像素行的位置与1.9(1.9 -(2.8/3) * 2)个像素行的位置之间。为了便于描述,在下面将省略去除操作。
[0043]下面,将以文本行为例来进行描述,并且,本领域普通技术人员会明白,本发明同样适用于文本列。
[0044]图4是示出用于实现根据本发明的文本行分割系统的计算设备的布置的框图。为了简单起见,该系统被示出为构建在单个计算设备中。然而,无论该系统构建在单个计算设备中还是构建在作为网络系统的多个计算设备中,该系统都是有效的。
[0045]如图4所示,计算设备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。
[0046]客户端120可以直接或经由网络130连接到计算设备100。客户端120可以例如向计算设备100发送文本行分割处理所需的指令和/或参数,并且计算设备100可以将信息返回给客户端120或者在显示器108上显示排版结果。
[0047]显然,图4所示的计算设备100只是示例性的,并且决不意图限制本发明、本发明的应用或用途。[0048][第一实施例]
[0049]将参照图5~10来对第一实施例进行详细描述。图5是示出实现根据本发明第一实施例的文本行分割方法的过程的主要流程图。图6示出实现根据本发明第一实施例的文本行分割方法的示例性过程。图7示出通过连接疑似空白区域内连通的“像素行的白像素运行长度(白像素序列)”来生成“区域内白像素运行长度”(白像素连通路径)的示例性流程图。图8示出由像素行的白像素序列形成的白像素连通路径。图9A和图9B示例性地示出连接连通的白像素序列的例子。图10A、图1OB和图1OC示出为一个疑似空白区域生成白色路径的整个过程。
[0050]下面将详细地描述图5。
[0051]具体地,在步骤101中,对于文档图像,根据像素行的白像素分布信息或黑像素分布信息以及与像素分布信息相关联的第一阈值Thl,确定该文档图像中的疑似空白像素行。然后,该过程进入步骤102。
[0052]在步骤102中,多个(至少两个)相邻的疑似空白像素行形成疑似空白区域,然后,通过连接连通的白像素序列(将在后面解释)在疑似空白区域内生成白色路径(也将在后面解释)。然后,该过程进入步骤103。
[0053]在步骤103中,根据所生成的各疑似空白区域的白色路径来确定文本行分割位置。
[0054]此时,从以上的步骤获得各文本行分割位置。因此,通过使用所获得的文本行分割位置作为边界,可以将文档图像分割成文本行。
[0055]下面,将参照图6和图7来详细描述本发明的一个文本行分割方法的示例性过程。
[0056]在步骤201中,在文档图像中沿特定方向和从特定位置(例如,边界)提取像素行。例如,对于普通的字符水平排列的文档图像(即,在该文档图像中包含的是文本行),按照从上到下的顺序从该文档图像的左上边界检测像素行。当然,上述的检测像素行的顺序和开始位置仅是例示性的,它们可针对不同类型的文档图像而不同。例如,对于普通的字符垂直排列的文档图像(即,在该文档图像中包含的是文本列),按照从左到右的顺序从该文档图像的左上边界检测像素行。
[0057]然后,例如,计算像素行的黑像素计数与行宽的比。如果该比小于一个阈值(Thl,例如为0.1),则认为该像素行是文本行之间的一个疑似空白像素行。这里,也可利用像素行中的白像素序列的运行长度来确定该像素行是否是一个疑似空白像素行。例如,可以计算像素行中的白像素序列的最大运行长度与行宽的比,并且,如果该比大于一个阈值(Thl,例如为0.8),则认为该像素行是文本行之间的一个疑似空白像素行。作为替代方案,可以利用像素行中的全部白像素序列运行长度之和与行宽之比、或者一些白像素序列运行长度(优选地,其运行长度之和大于该像素行中的任何其他两个白像素序列运行长度的两个最大白像素序列运行长度,这样,可以大大地提高计算效率)之和与行宽之比。
[0058]请注意,确定疑似空白像素行的方式不限于以上描述,只要能够根据像素行的黑像素分布信息或白像素分布信息适当地确定该像素行是否是疑似空白像素行即可。请注意,该阈值取决于所使用的像素行的像素分布信息。
[0059]此外,请注意,与黑像素计数有关的阈值Thl可以在0.f 0.3的范围内,例如,它可以为0.1,0.15、0.2、0.25、0.3等。类似地,与白像素计数有关的阈值Thl可以在0.7?0.9的范围内,例如,它可以为0.7,0.75,0.8,0.85,0.9等。另外,可以通过根据像素行的黑像素投影或其他方法粗略地分割文档图像或其一部分来获得上述的行宽。作为替代方案,可以借助于输入设备来输入行宽。请注意,该阈值的上述范围和获得行宽的方式仅是例示性的,而本发明不限于这些。随后,该过程进入步骤202。[0060]在步骤202中,确定是否检测到多个连续的(相邻的)疑似空白像素行。
[0061]如果确定检测到多个连续的(相邻的)疑似空白像素行,则该过程进入步骤203。
[0062]但是,如果确定没有检测到连续的(相邻的)疑似空白像素行,也就是说,仅检测到一个疑似空白像素行,则该过程进入步骤210。
[0063]在步骤210,作出结论是在该文档图像中仅存在一个文本行。由此,该过程结束。
[0064]另一方面,在步骤203中,可以用所述多个连续的(相邻的)疑似空白像素行构建一个或多个疑似空白区域。优选地,为了提高处理效率和文本行分割的精度,一个疑似空白区域可以包括2飞个疑似空白像素行。也就是说,如果有许多疑似空白像素行,它们可以形成多个连续的(相邻的)疑似空白区域。然后,该过程进入步骤204。
[0065]在步骤204中,对于第一个疑似空白区域,确定该疑似空白区域内的白像素序列是否是连通的。
[0066]如果确定该疑似空白区域内的白像素序列是连通的,则该过程进入步骤205。但是,如果不是,则该过程进入步骤209。
[0067]在步骤205中,对于该疑似空白区域,如果来自疑似空白像素行的(如上所述的)若干个“像素行内白像素运行长度”是连通的,则通过在该疑似空白区域中连接这些“像素行内白像素运行长度”来生成“区域内白像素运行长度”(即,白像素连通路径)。
[0068]将参照图8给出例子以便示例上述处理。在图8中,疑似空白区域包括三个疑似空白像素行,并且,通过连接每个像素行的两个最长的“像素行内白像素运行长度”(将在后面描述)来生成所有的“区域内白像素运行长度”,其中,用虚线表示这些“像素行内白像素运行长度”。
[0069]首先,假定如果两个相邻的疑似空白像素行中的“像素行内白像素运行长度”(SP,像素行的白像素序列)沿与行方向垂直的方向彼此有重叠,则这些白像素序列是连通的。如图8所示,像素行I中的白像素运行长度11和像素行2中的白像素运行长度21、像素行I中的白像素运行长度12和像素行2中的白像素运行长度22、还有像素行3中的白像素运行长度32和像素行2中的白像素运行长度21分别是连通的,因为它们分别沿与行方向垂直的方向彼此有重叠。图8中的其他白像素运行长度不被认为是彼此连通的。
[0070]上面的例子仅是例示性的。事实上,像素行的白像素运行长度的连通方式不限于上面的这样。例如,如果多个(例如,三个或四个)疑似空白像素行的“白像素运行长度”沿与行方向垂直的方向有重叠,那么可认为这些白像素运行长度是连通的。
[0071]然后,该过程进入步骤206。
[0072]在步骤206中,对于该区域,从所有“区域内白像素运行长度”中选择两个最长的“区域内白像素运行长度”,其中,“最长”意指这两个“区域内白像素运行长度”的总长度是最长的,即,这两个“区域内白像素运行长度”的长度之和在该区域的所有的两个“区域内白像素运行长度”的长度之和中是最大的。
[0073]当计算两个“区域内白像素运行长度”的总长时,考虑的是仅沿行方向的长度,不考虑沿与行方向垂直的方向的长度(即,高度)。例如,在图8中,两个最长“区域内白像素运行长度”(用Irl表示的折线“I,,和用lr2表示的折线是该疑似空白区域的“区域内白像素运行长度”)分别等于“a+b”和“c+d”,其中,“a”、“b”、“c”和“d”都是沿行方向的长度(白像素运行长度的一部分)。请注意,关于像素行3,尽管如上所述,像素行3中的白像素运行长度32和像素行2中的白像素运行长度21是连通的,但是它们之间的该段连通的长度已经包含在了折线“I?”中;另外,像素行3中的白像素运行长度31与折线“I--”不连通,因为相对于折线“I”在像素行2中的部分(即,“b”),像素行3中的白像素运行长度31和该部分(“b”)在与行方向垂直的方向上没有重叠。
[0074]然后,该过程进入步骤207。
[0075]在步骤207中,对于一个疑似空白区域,比较所获得的两个最长“区域内白像素运行长度”的总长与行宽,并且计算它们的比例。如果该比例大于一个阈值Th2 (例如,0.7),则将这两个最长“区域内白像素运行长度”当作文本行之间的白色路径。
[0076]这里,阈值Th2可以在0.6-0.9的范围内。但是,这些值仅是例示性的,本发明不限于这些。
[0077]如果两个最长“区域内白像素运行长度”可被当作文本行之间的白色路径,则该过程进入步骤208。但是,如果不能,则该过程进入步骤209。
[0078]在步骤208中,根据所述白色路径确定文本行分割位置。具体地,将由所述白色路径覆盖的像素行的中间位置处的像素行(简称为“中间像素行”)或者该疑似空白区域的中间位置确定为一个文本行分割位置。
[0079]这里,对于中间像素行,可以规定如果有偶数个像素行,则中间像素行可以是第(n/2)个或第((n/2)+l)个像素行,如果有奇数个像素行,则中间像素行可以是第((n+l)/2)个像素行。
[0080]然后,该过程进入到步骤209。
[0081]在步骤209中,确定是否有其他疑似空白区域。在之前检测到多个连续的疑似空白区域的情况下,将存在其他疑似空白区域。如果确定有其他疑似空白区域,则该过程返回步骤204。但是,如果没有,则该过程结束。
[0082]请注意,当确定白色路径时,例如,在一个或多个白像素连通路径覆盖若干个像素行的情况下,可以省略步骤207。另外,不限于使用两个最长“区域内白像素运行长度”(白像素连通路径)来确定文本行之间的白色路径,可以选择一个或多个“区域内白像素运行长度”来确定文本行之间的白色路径。
[0083]下面,将参照图7给出用于生成白色路径的例子。图7例示性地示出一种生成白像素连通路径(“区域内白像素运行长度”)的方法。在该方法中,通过从相邻像素行连接“像素行内白像素运行长度”来生成一个“区域内白像素运行长度”。在该方法中,使用一种迭代的方式来找到所有的“区域内白像素运行长度”。请注意,这种在一个区域内生成白像素连通路径(“区域内白像素运行长度”)的方法仅是例示性的,本发明不限于此。例如,可以使用其他迭代方法来找到“区域内白像素运行长度”。
[0084]在步骤301中,提取一个疑似空白区域内的两个像素行的第一集合。然后,该过程进入步骤302。
[0085]在步骤302中,对于该第一集合中的第一像素行,检测所有的“像素行内白像素运行长度”并且然后获得两个最长“像素行内白像素运行长度”。然后,该过程进入步骤303。
[0086]在步骤303中,对于该第一集合中的第二像素行,检测所有的“像素行内白像素运行长度”并且然后获得两个最长“像素行内白像素运行长度”。然后,该过程进入步骤304。
[0087]在步骤304中,确定第一像素行的两个最长白像素运行长度之一是否可与第二像素行的两个最长白像素运行长度中的任一个连通。如果确定它们是连通的,则该过程进入步骤305。但是,如果确定它们不连通,则该过程进入步骤306。
[0088]这里,如上所述,如果两个相邻像素行中的例如两个白像素运行长度沿与文本行方向垂直的方向彼此有重叠,如图9A所示,则它们是连通的。以“像素行I”的“白像素运行长度I ”为例,在图9A中,它与“像素行2”的“白像素运行长度I ”连通,但是不与“像素行2 ”的“白像素运行长度2 ”连通。
[0089]在步骤305中,如果第一像素行的白像素运行长度与第二像素行的白像素运行长度是连通的,则连接它们。如图9A所示,“像素行I”的“白像素运行长度I”和“像素行2”的“白像素运行长度I”连接在一起,并且折线“I.”是连接的白像素运行长度。然后,用所述连接的白像素运行长度来更新第二像素行的白像素运行长度,如图9B所示。在图9B中,用折线“"L”代替“像素行2”的“白像素运行长度I”。
[0090]具体地,更详细的连接白像素运行长度的过程如下:
[0091]I)如果第一像素行的一个白像素运行长度与第二像素行的两个白像素运行长度都连通,则连接这三个白像素运行长度以生成一个新的白像素运行长度,并且用这一个新的白像素运行长度代替第二像素行的两个白像素运行长度,另外,还构建另一个新的其长度为O的白像素运行长度以使得在该过程中保持有两个白像素运行长度,直到该过程结束;以及
[0092]2)如果第一像素行的一个白像素运行长度仅与第二像素行的一个白像素运行长度连通,则连接它与第二像素行的该连通的白像素运行长度以生成一个新的白像素运行长度,然后,用所述新的白像素运行长度代替第二像素行的该连通的第二像素行的一个白像素运行长度。
[0093]但是,上面的连接像素行的白像素运行长度的顺序仅是例示性的,本发明不限于此。事实上,任何连接像素行的白像素运行长度的顺序都是可行的,只要将连通的白像素序列连接在一起即可。
[0094]然后,该过程进入步骤307。
[0095]在步骤307中,确定第一像素行的另一个白像素运行长度是否被检查。如果没有,则使用步骤304和305或步骤304和306来扩展第一像素行的该另一个白像素运行长度,并且再次更新第二像素行的两个白像素运行长度。如果确定第一像素行的该另一个白像素运行长度已被检查,则该过程进入步骤308。
[0096]另一方面,在步骤306中,如果第一像素行的白像素运行长度不能与第二像素行的任何白像素运行长度连通,则该白像素运行长度将被当作一个“区域内白像素运行长度”,因为该白像素运行长度不能被进一步扩展。然后,该过程进入步骤308。
[0097]在步骤308中,确定第二像素行是否是该区域内的最后一个像素行。如果第二像素行是该区域内的最后一个像素行(在步骤308为“否”),则该过程进入步骤309。否则,如果第二像素行不是该区域内的最后一个像素行(在步骤308为“是”),则该过程进入步骤310。
[0098]在步骤310中,将用第二像素行代替第一像素行,将用第二像素行后面的像素行代替第二像素行,然后,将再次使用步骤303?308来从更新后的第一像素行和第二像素行获得“区域内白像素运行长度”。[0099]在步骤309中,第二像素行的两个白像素运行长度将被直接当作“区域内白像素运行长度”,同时,认为已经找到该区域的所有“区域内白像素运行长度”,并且该过程结束。
[0100]图10AU0B和IOC示出了针对一个疑似空白区域生成白色路径的整个例示性过程。该疑似空白区域包括三个疑似空白像素行。
[0101]在图1OA中,用虚线示出了每个像素行的两个最长“像素行内白像素运行长度”(分别简称为“白像素运行长度I”和“白像素运行长度2”)。
[0102]在图1OB中,“像素行I”的“白像素运行长度I”与“像素行2”的“白像素运行长度I”连接,如折线“I?”所示,并且,“像素行I”的“白像素运行长度2”与“像素行2”的“白像素运行长度2”连接,如折线“*所示。用连接的白像素运行长度更新“像素行2”的两个白像素运行长度。
[0103]在图1OC中,“像素行2”的“白像素运行长度I”与“像素行3”的两个白像素运行长度都连接,如折线“I?”所示。由于“像素行2”的“白像素运行长度2”不能进一步扩展,因此,它是一个“区域内白像素运行长度”,如折线所示。然后,用连接的白像素运行长度更新“像素行3”的“白像素运行长度I”。
[0104]由于“像素行3”是最后一个像素行,“像素行3”的“白像素运行长度I”是一个“区域内白像素运行长度”,如折线“I?,,所示。
[0105]直到现在为止,包括三个疑似空白像素行的该区域的所有“区域内白像素运行长度”已被找到。
[0106]然后,由于折线“I ”与折线“U的水平长度(沿行方向的长度)之和在“区域内白像素运行长度”之中的任两个的长度之和中是最大的,因此,确定该和与行宽的比是否大于阈值Th2(例如,为0.7)。如果该比大于Th2,则将折线和折线,即,两个最长“区域内白像素运行长度”当作文本行之间的白色路径。由此,被所述白色路径覆盖的像素行的中间像素行或者该区域的中间位置可被用作文本行分割位置。
[0107]通过使用根据本发明第一实施例的方法,可以大大地改善文本行分割的结果以及字符分割的结果,由此可以提高字符识别的精度,尤其对于重叠文本行和具有松散分布的噪声的文本行,如图17A、17B和17C所示。
[0108][第二实施例]
[0109]在根据本实施例的文本行分割方法中,与第一实施例的方法的区别在于,在确定疑似空白像素行之前,将进行以下操作:首先,根据各像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值(Th2),确定空白像素行,然后,根据所确定的空白像素行,预先确定文本行分割位置。这里,请注意,疑似空白像素行的确定是针对由预先确定的文本行分割位置所分割的文本行中的像素行执行的。本实施例的其他方面与第一实施例中的那些类似,因此,将省略对它们的描述。
[0110]将参照图1f 12作出对于本发明的第二实施例的详细描述。图11示出根据本发明第二实施例的直线文本行分割方法和非直线文本行分割方法的组合的示例性流程图。图12A、图12B和图12C示出执行组合的文本行分割方法来获得文本行分割位置的例子。
[0111]下面将参照图11来详细描述根据本发明的直线文本行分割方法和非直线文本行分割方法的组合。
[0112]首先,在步骤401中,根据一个像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值(Th2),确定该像素行是否是空白像素行。该步骤与图6中的步骤201类似。但是,阈值比图6中的步骤201中的阈值更严格。在使用像素行的黑像素计数的情况下,该阈值甚至可以是O。
[0113]然后,该过程进入步骤402。
[0114]在步骤402中,可以根据所确定的空白像素行来预先确定文档图像内的文本行。
[0115]然后,该过程进入步骤403。
[0116]步骤403?412与图6中的步骤201?210类似。请注意,步骤403是对于步骤402中所获得的预先确定的文本行执行的。
[0117]将参照图12A、图12B和图12C给出执行上面的组合方法的例子。
[0118]对于每个像素行,利用该像素行的白像素运行长度来判断它是否是文本行之间的空白像素行,其中,白像素运行长度仅位于像素行并且是直线式的(“像素行内白像素运行长度”)。然后,根据所检测的空白像素行预先确定文本行的行分割位置。如图12A所示,该区域的中间部分也被确定为文本行。
[0119]具体地,依次提取各像素行,然后获得各像素行的“像素行内白像素运行长度”,并且,计算最长白像素运行长度与行宽的比以及若干(例如,两个最长)白像素运行长度之和与行宽的比。如果这两个比中的任一个大于阈值Thl (例如,为0.7),则该像素行将被当作文本行之间的一个空白像素行。如果检测到至少一个空白像素行,则将根据所检测的空白像素行确定行分割位置,其中,对于一个空白像素行,如果它的两个相邻像素行之一被判断为是文本行,则该像素行将是一个行分割位置。
[0120]当文本行有重叠,或者文本行之间的每个空白像素行具有松散分布的噪声时,不能通过“像素行内白像素运行长度”检测到空白像素行(如图12A所示,文本行之间的所有像素行被判断为文本像素行)。将使用非直线分割方法借助于“区域内白像素运行长度”来搜索文本行之间的白色路径。
[0121]在非直线分割方法中,根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,从上面的预先确定的文本行中确定疑似空白区域。进一步地,利用各疑似空白区域的白像素连通路径(连通的白像素序列,也称为“区域内白像素运行长度”)来进一步判断该区域是否是文本行之间的空白区域,其中,可以通过从不同的像素行连接“像素行内白像素运行长度”来得到“区域内白像素运行长度”,并且,“区域内白像素运行长度”可覆盖若干相邻的像素行并且可以是非直线式的。随后,根据从该区域的“区域内白像素运行长度”获得的该区域的白色路径,确定文本行的行分割位置。
[0122]如图12B所示,提取两个疑似空白区域(“区域I”和“区域2”),“区域I”内的白色折线“路径I”是“区域I”的最长“区域内白像素运行长度”,“区域2”内的白色折线“路径
2”是“区域2 ”的最长“区域内白像素运行长度”。由于“路径I ”和“路径2 ”足够长,它们将被判断为文本行之间的白色路径。当然,使用若干个(例如,两个最长)“区域内白像素运行长度”的组合来确定它们是否是白色路径也是适当的。然后,将根据白色路径来确定文本行分割位置,即,提取被白色路径覆盖的所有像素行并且对它们排序,然后,优选地选择中间像素行作为一个行分割位置,如图12C所示。作为替代方案,该区域的中间位置也可被选作一个行分割位置。
[0123]在图12C中,“路径I”内的中间像素行是一个行分割位置“行分割位置1”,“路径2”内的中间像素行是另一个行分割位置“行分割位置2”。如果使用上面的两个行分割位置来分开像素行,则具有虚线边界的两个矩形是被分开的文本行区域(“文本行I”和“文本行2,,)。
[0124]另外,如果通过直线分割方法没有检测到空白像素行,并且通过非直线分割方法没能找到文本行之间的白色路径,那么可以作出结论是该文档图像仅包含一个文本行。
[0125]以这种方式,通过先用直线分割方法粗略地将文档图像分割成粗略的文本行区域,然后用非直线分割方法进一步分割用直线分割方法获得的粗略的文本行,可以将直线分割方法和非直线分割方法组合起来。由此,可以获得优异的分割效果。
[0126]另外,即使直线分割方法能够找到文档图像中的空白像素行,也可以在直线分割方法之后执行非直线分割方法。由此,可以提高文本行分割精度和字符分割精度,并由此可以提高字符识别的精度,尤其对于重叠的文本行和具有松散分布的噪声的文本行。
[0127][第三实施例]
[0128]有时,通过“像素行内白像素运行长度”(直线分割方法)仅能找到文本行之间的一部分空白像素行,并且,尽管一些文本行能被分开,但是文本行区域不准确,因为一些空白像素行不能被检测到,并且它们被错误地当成文本行区域的一部分。
[0129]因此,提出第三实施例以解决上面的问题。
[0130]在根据本实施例的文本行分割方法中,与第二实施例的方法的区别在于,使用非直线分割方法来校正之前用直线分割方法获得的文本行分割位置。将参照图13和图14A?14G来描述该实施例。图13示出表示根据本发明第三实施例校正文本行分割位置的过程的示例性流程图。图14A?14G示出根据本发明第三实施例校正文本行分割位置的例子。
[0131]下面,将参照图13来给出描述。
[0132]首先,在步骤50广502中,对于文档图像检测空白像素行,然后,根据所检测的空白像素行获得预先确定的文本行分割位置。由此,根据预先确定的文本行分割位置确定粗略的文本行。
[0133]然后,在步骤503?507中,与第一实施例中描述的那些类似,从特定的预先确定的文本行分割位置并且沿特定的方向确定粗略的文本行内的疑似空白像素行,然后获得从该特定的预先确定的文本行分割位置开始的疑似空白区域,并且然后确定这些疑似空白区域是否可被当作空白区域。如果它们能被当作空白区域,则可基于空白区域校正该特定的行分割位置。
[0134]可以重复进行步骤503?507,直到校正了所有的预先确定的文本行分割位置为止。
[0135]图14A?14G给出了利用“区域内白像素运行长度”的例子来得到更准确的文本行区域,即,校正通过“像素行内白像素运行长度”获得的文本行区域。在实施例中,在通过“像素行内白像素运行长度”找到一些行分割位置之后,使用“区域内白像素运行长度”来围绕所述行分割位置找到更多的空白区域并且根据所述空白区域调整行分割位置。
[0136]具体地,图14A示出了两个文本行。通过使用直线分割方法,文本行之间的一些像素行被判断为空白像素行,文本行之间的其他像素行被判断为文本像素行。
[0137]然后,在图14B中,根据所检测的空白像素行确定两个可能的行分割位置。这里,如果它的两个相邻像素行之一被判断为文本行,则该像素行将是一个可能的行分割位置。如果使用这两个可能的行分割位置来分开文本行,则具有虚线边界的两个矩形是被分开的文本行区域(“文本行I”和“文本行2”)。
[0138]然后,对于每个可能的行分割位置,围绕它提取疑似空白区域(在所述区域中,所有的像素行必须是用直线分割方法获得的文本像素行),并且为每个区域搜索两个最长的“区域内白像素运行长度”,然后判断这两个最长的“区域内白像素运行长度”是否是文本行之间的白色路径。如果是,该区域将被判断为文本行之间的空白区域。否则,该区域将被判断为文本行。
[0139]请注意,围绕一个可能的行分割位置的疑似空白区域可根据其与该行分割位置的距离被有序地检查。一旦一个区域被判断为文本行,则可以不检查剩余的区域。
[0140]如图14C所示,围绕“可能的行分割位置I”的两个疑似空白区域被提取,并且,这两个区域将被有序地检查。
[0141]首先,如图14D所示,检查“疑似空白区域1”,该区域的“区域内白像素运行长度”足够长,因此,该区域将被判断为文本行之间的一个空白区域。
[0142]接着,根据所检测的围绕每个可能的行分割位置的空白区域调整该行分割位置。其中,如果一个区域被判断为文本行之间的空白区域,则该区域内的被“区域内白像素运行长度”覆盖的像素行被提取并且被排序,然后,选择中间像素行而不是最初的行分割位置作为行分割位置。
[0143]这里,如果围绕一个可能的行分割位置的两个或更多个区域被判断为文本行之间的空白区域,则将根据与所述一个可能的行分割位置相距最远的区域来调整该可能的行分割位置。也就是说,选择中间像素行或该最远区域的中间位置作为行分割位置。
[0144]如图14F所示,“白色路径I”内的中间像素行,即,“行分割位置I的备选”将作为一个备选被选择来代替“可能的行分割位置1”,因为如上所述,围绕“可能的行分割位置I”的“疑似空白区域I”已被判断为文本行之间的空白区域。
[0145]在图14G中,“白色路径2”内的中间像素行,即,“调整后的行分割位置I”而不是“可能的行分割位置I”将作为最终的行分割位置被选择,因为围绕“可能的行分割位置I”的“疑似空白区域2”已被判断为文本行之间的空白区域,并且,“疑似空白区域2”是与“可能的行分割位置I”相距最远的空白区域。
[0146]如果使用“调整后的行分割位置I”和“可能的行分割位置2”来分开文本行,则“文本行I”的区域将如图14G所示的那样被调整。
[0147]上面的例子仅是例示性的,本发明不限于此。例如,当文本行之间有多个空白区域时,可以使用这些区域之中的任何一个区域的任何像素行或任何位置作为最终的行分割位置(最终确定的行分割位置)。
[0148]另外,请注意,当通过使用非直线分割方法来选择行分割位置时,不限于空白区域的中间像素行,例如,也可以使用空白区域的中间位置作为行分割位置。当然,空白区域中的其他位置也可以被用作行分割位置。
[0149]通过该实施例,可以大大地提高文本行分割精度和字符切分精度,由于非直线分割方法进一步分割不能被直线分割方法分割的粗略的文本行。由此,可以提高字符识别的精度。
[0150][第四实施例][0151]本实施例将示出根据本发明的文本行分割系统。将参照图15对本实施例进行详细描述。
[0152]如图15所示,文本行分割系统1000可包括疑似空白像素行确定单元1001、白色路径生成单元1002和文本行分割位置确定单元1003。
[0153]疑似空白像素行确定单元1001被配置为根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行。
[0154]白色路径生成单元1002被配置为通过连接由被疑似空白像素行确定单元1001获得的至少两个相邻的疑似空白像素行形成的疑似空白区域内的连通的白像素序列,生成该疑似空白区域的白色路径。
[0155]文本行分割位置确定单元1003被配置为根据由白色路径生成单元1002所生成的白色路径,确定文本行分割位置。
[0156]根据本发明的第四实施例,可以提高文本行分割的精度和字符切分的精度,由此可以提高字符识别的精度,尤其对于重叠的文本行和具有松散分布的噪声的文本行。
[0157][第五实施例]
[0158]本实施例将示出根据本发明的另一文本行分割系统。将参照图16对本实施例给出详细描述。请注意,图16中类似的附图标记表示与图15中的那些类似的组件。因此,将省略对于这些组件的描述。
[0159]与第四实施例中的文本行分割系统1000不同,本实施例的文本行分割系统2000可以进一步包括空白像素行确定单元2004、文本行分割位置预先确定单元2005以及文本行分割位置校正单元2006等。
[0160]空白像素行确定单元2004被配置为根据各像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值,确定空白像素行。
[0161]文本行分割位置预先确定单元2005被配置为根据所确定的空白像素行,预先确定文本行分割位置。
[0162]这里,在实施例中,由疑似空白像素行确定单元确定疑似空白像素行的操作是对于由预先确定的文本行分割位置分割的文本行中的像素行执行的。由此,可以大大提高文本行分割精度和字符切分精度。
[0163]文本行分割位置校正单元2006被配置为通过用由文本行分割位置确定单元2003获得的另外的行分割位置代替预先确定的文本行分割位置作为校正后的文本行分割位置,校正该预先确定的文本行分割位置。由此,通过用非直线文本行分割进一步校正粗略的文本行分割位置,可以大大提高文本行分割精度和字符切分精度。
[0164]请注意,空白像素行确定单元2004可以在文本行分割位置确定单元2003的操作之前或之后执行操作。
[0165]根据本发明的第五实施例,文本行分割系统可以提高文本行分割精度和字符切分精度,由此可提高字符识别的精度。
[0166][其他变型]
[0167]为了进一步提高文本行分割精度和字符切分精度,在非直线分割方法之后,可以使用直线分割方法来进一步分割文档图像,以避免非直线分割方法将唯一的一个疑似空白像素行(它可能是真的空白像素行,或者可能是文本行)当作一个空白像素行的情形。[0168]另外,在进行任何操作之前,也可以使用诸如黑像素投影等的使用白像素或黑像素的像素分布信息或者其他信息的粗略的分割方法以将文档图像分割为粗略的区域。这样,可以提高处理效率。
[0169][本发明的分割效果]
[0170]本发明被设计为将文本行分开,尤其当文本行重叠或者文本行之间的空白像素行具有松散分布的噪声时更是如此,因为“像素行内白像素运行长度”不能准确地找到文本行的行分割位置。从如图17A、17B和17C所示的分割结果可以获得本发明的优点。
[0171]具体地,首先,当文本行重叠时,“区域内白像素运行长度”可以检测到文本行之间的白色路径并且将所述文本行分开,由此,可以正确地切分出大多数字符,如图17A所示。
[0172]其次,当文本行之间的每个空白像素行具有松散分布的噪声时,“区域内白像素运行长度”可以检测到文本行之间的白色路径并且将所述文本行分开,由此,可以正确地切分出大多数字符,如图17B所示。
[0173]再者,当文本行之间的一些空白像素行具有松散分布的噪声并由此使得它们不能通过“像素行内白像素运行长度”被检测到而将被错误地当作文本行区域的一部分时,本发明还可检测到文本行之间的更多空白区域并且得到更准确的文本行区域。如图17C所示,“区域内白像素运行长度”可以基于该文本行区域检测到更多的空白区域,由此,将提取更准确的文本行区域并且将得到更准确的字符切分结果。
[0174]请注意,上面的实施例仅是例示性的,本发明不限于它们。此外,说明书中的各方面的各种组合应当被包含在本发明的保护范围内。
[0175]另外,请注意,可以以许多方式实施本发明的方法和设备。例如,可以通过软件、硬件、固件、或其任何组合来实施本发明的方法和设备。上述的方法步骤的次序仅是示例性的,本发明的方法步骤不限于以上具体描述的次序,除非以其它方式明确说明。此外,在一些实施例中,本发明还可以被实施为记录在记录介质中的程序,其包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于实现根据本发明的方法的程序的记录介质。
[0176]虽然已通过示例详细展示了本发明的一些具体实施例,但是本领域普通技术人员应当理解,上述例子仅意图是示例性的而非限制本发明的范围。本领域普通技术人员应当理解,上述实施例可以被修改而不脱离本发明的范围和实质。本发明的范围是通过所附的权利要求来限定的。
【权利要求】
1.一种用于文档图像的文本行分割方法,所述方法包括: 疑似空白像素行确定步骤,根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行; 白色路径生成步骤,通过连接由至少两个相邻的疑似空白像素行形成的疑似空白区域内的连通的白像素序列,生成该疑似空白区域的白色路径;以及 文本行分割位置确定步骤,根据所生成的各疑似空白区域的白色路径,确定文本行分割位置。
2.根据权利要求1所述的方法,其中,所述白色路径生成步骤包括: 白像素序列选择步骤,从所述疑似空白区域中的各疑似空白像素行的白像素序列中选择至少一个白像素序列; 白像素连通路径生成步骤,在所述疑似空白区域中,连接两个相邻的疑似空白像素行的所选白像素序列中的在与文本行方向垂直的方向上彼此重叠的白像素序列并由此生成白像素连通路径; 白色路径确定步骤,由所述白像素连通路径确定所述疑似空白区域的白色路径。
3.根据权利要求2所述的方法,其中, 在所述白像素序列选择步骤中,对于每个疑似空白像素行,选择该疑似空白像素行的所有白像素序列中长度最大的两个白像素序列。
4.根据权利要求2所述的方法,其中, 在所述白色路径确定步骤中,`选择所述疑似空白区域中的所有白像素连通路径之中沿文本行方向具有最大长度的两个白像素连通路径作为所述疑似空白区域的白色路径。
5.根据权利要求1所述的方法,其中,在所述文本行分割位置确定步骤中,将所述白色路径所覆盖的像素行之中的处于中间位置的像素行或者所述疑似空白区域的中间位置确定为一个文本行分割位置。
6.根据权利要求1所述的方法,在所述疑似空白像素行确定步骤之前,还包括: 空白像素行确定步骤,根据各像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值,确定空白像素行;以及 文本行分割位置预先确定步骤,根据所确定的空白像素行,预先确定文本行分割位置, 其中,对于由预先确定的文本行分割位置分割的文本行中的像素行执行所述疑似空白像素行确定步骤。
7.根据权利要求1所述的方法,其中,在所述疑似空白像素行确定步骤中,如果一个疑似空白像素行没有相邻的疑似空白像素行,则根据该疑似空白像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值来确定该疑似空白像素行是否是空白像素行,并且,如果该疑似空白像素行是空白像素行,则将该疑似空白像素行确定为一个文本行分割位置。
8.根据权利要求1、6和7中的任一项所述的方法,其中,像素行的白像素分布信息包括与该像素行的白像素序列的长度有关的信息和与该像素行的白像素数量有关的信息,像素行的黑像素分布信息包括与该像素行的黑像素序列的长度有关的信息和与该像素行的黑像素数量有关的信息。
9.根据权利要求广7中的任一项所述的方法,其中,在所述疑似空白像素行确定步骤中,对于一个像素行,根据该像素行的黑像素数量与文本行宽度的比值,确定该像素行是否是疑似空白像素行。
10.根据权利要求6所述的方法,其中,在所述空白像素行确定步骤中,对于一个像素行,根据该像素行中的两个最大白像素序列的长度之和与文本行宽度的比值,确定该像素行是否是空白像素行,其中,所述两个最大白像素序列的长度大于该像素行中的其他白像素序列的长度。
11.根据权利要求6所述的方法, 其中,疑似空白像素行确定步骤、白色路径生成步骤和文本行分割位置确定步骤是在由疑似空白像素行所形成的疑似空白区域中执行的;以及其中,所述方法还包括: 文本行分割位置校正步骤,通过用所确定的文本行分割位置代替预先确定的文本行分割位置,校正该预先确定的文本行分割位置。
12.根据权利要求1所述的方法,其中,一个疑似空白区域中的像素行的数量为预定值。
13.根据权利要求12所述的方法,其中,一个疑似空白区域中的像素行的数量为2至5个。
14.根据权利要求11所述的方法,其 中,在所述文本行分割位置校正步骤中,如果得到至少两个疑似空白区域,则根据与预先确定的文本行分割位置相距最远的疑似空白区域来校正该预先确定的文本行分割位置。
15.一种用于文档图像的文本行分割系统,所述系统包括: 疑似空白像素行确定单元,被配置为根据像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第一阈值,确定该像素行是否是疑似空白像素行; 白色路径生成单元,被配置为通过连接由至少两个相邻的疑似空白像素行形成的疑似空白区域内的连通的白像素序列,生成该疑似空白区域的白色路径;以及 文本行分割位置确定单元,被配置为根据所生成的各疑似空白区域的白色路径,确定文本行分割位置。
16.根据权利要求15所述的系统,所述白色路径生成单元包括: 白像素序列选择单元,被配置为从所述疑似空白区域中的各疑似空白像素行的白像素序列中选择至少一个白像素序列; 白像素连通路径生成单元,被配置为在所述疑似空白区域中,连接两个相邻的疑似空白像素行的所选白像素序列中的在与文本行方向垂直的方向上彼此重叠的白像素序列并由此生成白像素连通路径; 白色路径确定单元,被配置为由所述白像素连通路径确定所述疑似空白区域的白色路径。
17.根据权利要求16所述的系统,其中, 对于每个疑似空白像素行,所述白像素序列选择单元选择该疑似空白像素行的所有白像素序列中长度最大的两个白像素序列。
18.根据权利要求16所述的系统,其中, 所述白色路径确定单元选择所述疑似空白区域中的所有白像素连通路径之中沿文本行方向具有最大长度的两个白像素连通路径作为所述疑似空白区域的白色路径。
19.根据权利要求15所述的系统,其中,所述文本行分割位置确定单元将所述白色路径所覆盖的像素行之中的处于中间位置的像素行或者所述疑似空白区域的中间位置确定为一个文本行分割位置。
20.根据权利要求15所述的系统,还包括: 空白像素行确定单元,被配置为根据各像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值,确定空白像素行;以及 文本行分割位置预先确定单元,被配置为根据所确定的空白像素行,预先确定文本行分割位置, 其中,由所述疑似空白像素行确定单元对于由预先确定的文本行分割位置分割的文本行中的像素行执行确定疑似空白像素行的操作。
21.根据权利要求15所述的系统,其中,所述疑似空白像素行确定单元还被配置为: 如果一个疑似空白像素行没有相邻的疑似空白像素行,则根据该疑似空白像素行的白像素分布信息或黑像素分布信息和与像素分布信息相关联的第二阈值来确定该疑似空白像素行是否是空白像素行,并且, 如果该疑似空白像素行是空白像素行,则将该疑似空白像素行确定为一个文本行分割位置。
22.根据权利要求15、20和21中的任一项所述的系统,其中,像素行的白像素分布信息包括与该像素行的白像素序列的长度有关的信息和与该像素行的白像素数量有关的信息,像素行的黑像素分布信息包括与该像素行的黑像素序列的长度有关的信息和与该像素行的黑像素数量有关的信息 。
23.根据权利要求15-21中的任一项所述的系统,其中,所述疑似空白像素行确定单元根据一个像素行的黑像素数量与文本行宽度的比值而确定该像素行是否是疑似空白像素行。
24.根据权利要求20所述的系统,其中,所述空白像素行确定单元根据一个像素行中的两个最大白像素序列的长度之和与文本行宽度的比值,确定该像素行是否是空白像素行,其中,所述两个最大白像素序列的长度大于该像素行中的其他白像素序列的长度。
25.根据权利要求20所述的系统, 其中,疑似空白像素行确定单元、白色路径生成单元和文本行分割位置确定单元对于由疑似空白像素行所形成的疑似空白区域依次执行操作;以及其中,所述系统还包括: 文本行分割位置校正单元,被配置为通过用所确定的文本行分割位置代替预先确定的文本行分割位置,校正该预先确定的文本行分割位置。
26.根据权利要求15所述的系统,其中,一个疑似空白区域中的像素行的数量为预定值。
27.根据权利要求26所述的系统,其中,一个疑似空白区域中的像素行的数量为2至5个。
28.根据权利要求25所述的系统,其中,如果得到至少两个疑似空白区域,则由所述文本行分割位置校正单元根据与预先确定的文本行分割位置相距最远的疑似空白区域来校正该预先确定的文 本行分割位置。
【文档编号】G06K9/34GK103455814SQ201210176057
【公开日】2013年12月18日 申请日期:2012年5月31日 优先权日:2012年5月31日
【发明者】许梅芳 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1