CN111626250A - 文本图像的分行方法、装置、计算机设备及可读存储介质 - Google Patents
文本图像的分行方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN111626250A CN111626250A CN202010488444.XA CN202010488444A CN111626250A CN 111626250 A CN111626250 A CN 111626250A CN 202010488444 A CN202010488444 A CN 202010488444A CN 111626250 A CN111626250 A CN 111626250A
- Authority
- CN
- China
- Prior art keywords
- text
- line
- text box
- boxes
- box
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/418—Document matching, e.g. of document images
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Character Input (AREA)
Abstract
本发明实施例提供了一种文本图像的分行方法、装置、计算机设备及可读存储介质,其中,该方法包括:识别出文本图像中的文本框;基于文本框的最小横坐标对文本框进行第一排序;基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出文本图像的行结构化结果。该方案有利于提高分行方法的鲁棒性,由于没有统一排版或者格式、出现不同程度的倾斜和透视等情况并不影响识别文本框或对识别文本框的影响较少,进而可以基于识别的文本框构建射线进行分行,有利于提高分行的精度、准确性,有利于扩展分行方法的适用性。
Description
技术领域
本发明涉及文本处理技术领域,特别涉及一种文本图像的分行方法、装置、计算机设备及可读存储介质。
背景技术
文字信息的匹配识别是OCR技术最终输出的核心环节,文本信息的行信息匹配和结构化输出是影响OCR项目识别效果的关键步骤,因此鲁棒性强、准确率高的文本结构化输出方法对OCR图像识别项目非常重要。
对于有统一排版或者格式、且本身不存在刚性形变的文本图像来说,传统的文本结构化输出方法均可适用。而传统的文本行匹配方法,通常需要多次反复的实验,根据待处理图像前后文本框的距离和高度差,设置最符合待处理文本的多个先验阈值,然后利用繁复的高度阈值完成同行文本框的匹配,这种做法的鲁棒性极差。但是大部分的文本电子图像都没有固定统一排版格式,这使得高度阈值的文本行匹配方式不再适用,给OCR识别结果分析和匹配造成了极大的困难。而且自然场景下人为拍摄出的文本图像,往往不可避免的会出现不同程度的倾斜和透视情况,在应对这种稍微复杂一点的文本刚性和非刚性变化时,上述传统的文本行匹配方法的分行匹配精度通常较差。
发明内容
本发明实施例提供了一种文本图像的分行方法,以解决现有技术中文本图像的文本行匹配存在的适用性低、匹配精度低的技术问题。该方法包括:
识别出文本图像中的文本框;
基于文本框的最小横坐标对文本框进行第一排序;
基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
本发明实施例还提供了一种文本图像的分行装置,以解决现有技术中文本图像的文本行匹配存在的适用性低、匹配精度低的技术问题。该装置包括:
文本框识别模块,用于识别出文本图像中的文本框;
排序模块,用于基于文本框的最小横坐标对文本框进行第一排序;
分行模块,用于基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的文本图像的分行方法,以解决现有技术中文本图像的文本行匹配存在的适用性低、匹配精度低的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的文本图像的分行方法的计算机程序,以解决现有技术中文本图像的文本行匹配存在的适用性低、匹配精度低的技术问题。
在本发明实施例中,提出了识别文本图像中的文本框,进而基于文本框的最小横坐标对文本框进行第一排序,再针对第一排序后的文本框构建正向的射线,最后根据正向的射线与文本框的交叉情况确定同行的文本框,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,进而输出所述文本图像的行结构化结果。即实现了基于文本框构建的射线来对文本框进行分行,与现有技术中传统的文本行匹配方法相比,可以避免设置高度阈值、基于高度阈值来进行文本行匹配,有利于提高分行方法的鲁棒性;同时,由于没有统一排版或者格式、出现不同程度的倾斜和透视等情况并不影响识别文本框或对识别文本框的影响较少,进而可以基于识别的文本框构建射线进行分行,有利于提高分行的精度、准确性,也可以对没有非统一排版或者格式、本身存在刚性形变的文本图像进行分行处理,使得有利于扩展分行方法的适用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种文本图像的分行方法的流程图;
图2是本发明实施例提供的一种基于正向射线查找输出的文本图像的行结构化结果的示意图;
图3是本发明实施例提供的一种基于反向射线查找的筛选示意图;
图4是本发明实施例提供的一种基于双向射线查找输出的文本图像的行结构化结果的示意图;
图5是本发明实施例提供的一种具体实施上述文本图像的分行方法的流程示意图;
图6(a)是本发明实施例提供的一种应用传统框高度阈值分行方法处理的结果示意图;
图6(b)是本发明实施例提供的一种应用上述文本图像的分行方法处理的结果示意图;
图7是本发明实施例提供的一种计算机设备的结构框图;
图8是本发明实施例提供的一种文本图像的分行装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本发明实施例中,提供了一种文本图像的分行方法,如图1所示,该方法包括:
步骤102:识别出文本图像中的文本框;
步骤104:基于文本框的最小横坐标对文本框进行第一排序;
步骤106:基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
由图1所示的流程可知,在本发明实施例中,提出了识别文本图像中的文本框,进而基于文本框的最小横坐标对文本框进行第一排序,再针对第一排序后的文本框构建正向的射线,最后根据正向的射线与文本框的交叉情况确定同行的文本框,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,进而输出所述文本图像的行结构化结果。即实现了基于文本框构建的射线来对文本框进行分行,与现有技术中传统的文本行匹配方法相比,可以避免设置高度阈值、基于高度阈值来进行文本行匹配,有利于提高分行方法的鲁棒性;同时,由于没有统一排版或者格式、出现不同程度的倾斜和透视等情况并不影响识别文本框或对识别文本框的影响较少,进而可以基于识别的文本框构建射线进行分行,有利于提高分行的精度、准确性,也可以对没有非统一排版或者格式、本身存在刚性形变的文本图像进行分行,使得有利于扩展分行方法的适用性。
具体实施时,上述文本图像可以是任意需要分行处理的文件的文本图像,例如,可以是单据、清单、表格等需要分行处理的文件。
具体实施时,对于识别文本图像中文本框的具体识别方法本申请不做具体限定,可以采用任意的文本框识别方法。例如,可以根据深度学习方法来对文本图像中的文本框进行检测定位、识别。
具体的,针对识别出的所有的文本框,基于文本框的最小横坐标进行第一排序,该文本框的最小横坐标可以是文本框的四个顶点坐标中的最小横坐标。
具体的,基于文本框的最小横坐标对文本框进行第一排序的过程中,该第一排序可以是按照最小横坐标由小到大进行排序,此时第一排序方向为由左到右,也可以是按照最小横坐标由大到小进行排序,此时第一排序方向为由右到左。例如,第一排序以最小横坐标由小到大进行排序为例,此时第一排序方向为由左到右,正向即是最小横坐标由小到大的方向或由左向右的方向。
具体实施时,为了进一步提高分行的精度,在本实施例中,通过以下步骤实现基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行:
第一排序后的文本框组成第一文本框集合,针对第一文本框集合中的文本框,以第一排序后的第一个文本框为当前文本框开始循环执行以下步骤,直至第一文本框集合中的文本框数不变时,结束循环,将第一文本框集合中剩余的每一个文本框分别单独标记一个行数:
基于当前文本框构建第一正向的射线;例如,第一排序以最小横坐标由小到大进行排序为例,此时第一排序方向为由左到右,第一个文本框为最小横坐标排位最大或最左边的一个文本框。
若除了当前文本框之外存在与所述第一正向的射线交叉的其他文本框,则将当前文本框标记为当前行数,按照第一排序顺序将其他文本框中第一个与所述第一正向的射线交叉的文本框标记为当前行数;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框(即此时与同一正向的射线相交的只有一个文本框),则按照第一排序顺序将下一个文本框确定为当前文本框,返回前一步骤;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框且当前文本框为所述第一文本框集合中当前排序的最后排位的文本框,则确定所述第一文本框集合中的文本框数不变,结束循环;
基于属于当前行数的所有文本框构建第二正向的射线,若除了属于当前行数的所有文本框之外存在与所述第二正向的射线交叉的其他文本框,则按照第一排序顺序将其他文本框中第一个与所述第二正向的射线交叉的文本框标记为当前行数,继续执行当前步骤;若除了属于当前行数的所有文本框之外未存在与所述第二正向的射线交叉的文本框,则在所述第一文本框集合中删除所有属于当前行数的文本框,将所述第一文本框集合中删除文本框的下一个文本框作为当前文本框,将行数加1后作为当前行数。
具体实施时,在本实施例中,可以通过以下方法实现基于当前文本框构建第一正向的射线:
计算当前文本框的上边界直线和下边界直线的平均斜率,基于所述平均斜率和所述当前文本框的中心点构造所述第一正向的射线。
具体实施时,例如,可以基于当前文本框的四个顶点的坐标来实现计算当前文本框的上边界直线和下边界直线的平均斜率,若当前文本框的左上、右上、左下和右下四个顶点坐标的8个数据分别为[x0,y0,x1,y1,x2,y2,x3,y3],则可以通过以下公式来计算当前文本框的上边界直线和下边界直线的平均斜率:
kup=(y1-y0)/(x1-x0)
kbottom=(y3-y2)/(x3-x2)
k_mean=(kup+kbottom)/2
其中,kup为上边界直线的斜率;kbottom为下边界直线的斜率;k_mean为平均斜率。
具体实施时,也可以基于当前文本框的四个顶点的坐标来计算当前文本框的中心点的坐标,例如,可以通过以下公式来计算当前文本框的中心点的坐标:
xcenter=(x0+x1+x2+x3)
ycenter=(y0+y1+y2+y3)
其中,xcenter为中心点的横坐标;ycenter为中心点的纵坐标。
具体实施时,明确平均斜率和前文本框的中心点之后,可以构建第一正向的射线为:y=kcross1x+bcross1,其中,射线的斜率kcross1=k_mean,射线的偏差bcross1=ycenter-kcross1·xcenter。
具体实施时,在本实施例中,可以通过以下方法实现基于属于当前行数的所有文本框构建第二正向的射线;
基于属于当前行数的所有文本框的中心点计算斜率,并基于所述斜率和属于所述当前行数的所有文本框中最后一个标记为所述当前行数的文本框的中心点构造所述第二正向的射线。通过利用文本框的中心点来拟合射线,可以有效地处理部分刚性和非刚性形变的文本图像,可以最大程度上提高上述文本图像的分行方法对不同文本图像的鲁棒性,确保OCR项目中文本行输出的准确性,方便后续对图像文本的分析。
具体实施时,可以通过简单的最小二值化基于属于当前行数的所有文本框的中心点拟合得到第二正向的射线,例如,可以通过以下公式基于属于当前行数的所有文本框的中心点计算斜率:
其中,kcross2是第二正向的射线的斜率;xset是属于当前行的所有文本框的中心点横坐标的集合;yset是属于当前行的所有文本框的中心点横坐标的集合;xymean是第二正向的射线的斜率;xsetmean是集合xset中所有横坐标的均值;ysetmean是集合yset中所有纵坐标的均值;是集合xset中所有横坐标先平方再求均值;是集合yset中所有纵坐标先平方再求均值。
还可以通过以下公式计算第二正向的射线的偏差:
bcross2=ysetmean-kcross2·xsetmean
其中,bcross2是第二正向的射线的偏差。
具体实施时,基于已匹配属于当前行数的所有文本框的中心点拟合构建第二正向的射线的过程,相当于对该当前行数的文本行进行拟合,若待处理的文本图像扭曲过于严重,还可以将此处的直线拟合修改成高阶次幂的曲线拟合。
具体实施时,通过基于正向的射线查找交叉文本框的情况,同行的文本框和单独标记行数的文本框组成文本图像的行结构化结果,例如,文本图像以住院清单的文本图像为例,上述文本图像的分行方法基于正向的射线分行后的行结构化结果如图2所示。
具体实施时,为了进一步提高分行的精度和准确性,在本实施例中,提出了对基于正向的射线分行得到的行结构化结果,再基于反向的射线与文本的交叉情况来修正行信息,例如,所述文本图像的行结构化结果组成第二文本框集合,针对第二文本框集合中同行的文本框,基于文本框的最大横坐标进行第二排序,其中,所述第二排序与所述第一排序的顺序相反;
基于第二排序后的同行的所有文本框构建反向的射线,基于反向的射线与除了该行所有文本框之外的文本框的交叉情况,修改与反向的射线交叉的文本框的行信息,输出所述文本图像的最终的行结构化结果,其中,反向为与第二排序方向一致的方向,所述反向的射线与所述正向的射线所指的方向相反。
具体实施时,基于同行的文本框的最大横坐标对文本框进行第二排序的过程中,该第二排序可以是按照最大横坐标由小到大进行排序,此时第二排序方向为由左到右,也可以是按照最大横坐标由大到小进行排序,此时第二排序方向为由右到左,但是实施时,该第二排序与第一排序的顺序是相反的,例如,第一排序以最小横坐标由小到大进行排序为例,此时第一排序方向为由左到右,则第二排序是以最大横坐标由大到小进行排序,此时第二排序方向为由右到左,反向即是最大横坐标由大到小的方向或由右到左的方向。
具体实施时,为了进一步提高分行的精度,在本实施例中,提出通过以下步骤实现基于第二排序后的同行的所有文本框构建反向的射线,并基于反向的射线与除了该同行所有文本框(即构建反向的射线的该同行的所有文本框)之外的文本框的交叉情况来修改行信息,以便输出文本图像的最终的行结构化结果,例如,循环以下步骤,直至第二文本框集合中行信息不变时,输出所述文本图像的最终的行结构化结果:
基于第二排序后所述第二文本框集合中的首个文本框和该首个文本框所在行的其他文本框构建反向的射线;
若除了该首个文本框所在行的文本框之外存在与反向的射线交叉的交叉文本框,在交叉文本框为该交叉文本框所在行中按照第二排序排位最大的文本框的情况下,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数;在交叉文本框为该交叉文本框所在行中按照第二排序排位最小的文本框的情况下,当该交叉文本框所在行包括至少2个文本框且首个文本框所在行包括一个文本框时,不修改行信息,否则,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数。
具体实施时,基于第二排序后所述第二文本框集合中的首个文本框和该首个文本框所在行的其他文本框构建反向的射线的过程实质是基于首个文本框所在行的所有文本框构建反向的射线,由于首个文本框所在行可能包括一个文本框也可能包括多个文本框,因此,可以通过以下公式得到反向的射线的斜率:
其中,kcross3表示反向的射线的斜率,kbox表示首个文本框所在行包括一个文本框时,基于该首个文本框的上边界直线和下边界直线斜率;kreg表示首个文本框所在行包括多个文本框时,基于该首个文本框所在行的所有文本框的中心点拟合的斜率。
具体实施时,得到反向的射线的斜率后,首个文本框所在行包括一个文本框时,基于该首个文本框的中心点和反向的射线的斜率构建反向的射线;首个文本框所在行包括多个文本框时,基于反向的射线的斜率和该首个文本框所在行中按照第二排序排位最小的文本框的中心点构建反向的射线。
具体实施时,构建出反向的射线后,即可根据除了该首个文本框所在行的文本框之外的文本框与反向的射线的交叉情况来修改行信息,例如,如图3所示,若除了该首个文本框所在行的文本框之外存在与反向的射线交叉的交叉文本框,在交叉文本框为该交叉文本框所在行中按照第二排序排位最大的文本框的情况下,则认为查找到了同行断裂的情况,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数;在交叉文本框为该交叉文本框所在行中按照第二排序排位最小的文本框的情况下,当该交叉文本框所在行包括至少2个文本框且首个文本框所在行包括一个文本框时,则认为一个不稳定的预定文本行穿插到稳定的文本行中,认为查找失败,不改变任意文本框的行信息,否则,其他情况均认为查找成功,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数。即在交叉文本框位于交叉文本框所在行的两端时,根据不同情况确认是否修改行信息。
具体实施时,如图3所示,交叉文本框不是交叉文本框所在行两端的文本框时,则直接认定查找失败,不修改任何文本框行信息。
具体实施时,在反向的射线与文本框的交叉情况均属于查找失败、不修改任何文本框行信息的情况时,认为第二文本框集合中行信息不变,输出经过正向的射线和反向的射线双向查找后的文本图像的最终的行结构化结果,如图4所示。通过与图2对比可知,在基于正向的射线查找、分行得到的行结构化结果上,进一步进行基于反向的射线来查找、修改行信息后,可以避免文本框穿插到非同行、同行断裂等由于同行文本框由于不同部分距离较大导致分行错误的情况,可以进一步增加文本行查找的完整性和精确度,可以有效地将大部分长短文本都进行正确的分行。
在本实施例中,结合示例具体描述实施上述文本图像的分行方法的过程,如图5所示,包括以下步骤:
步骤1:首先利用文本定位模型对文本图像中的文本框进行检测定位,然后输出一个文本框的集合Box_set,集合Box_set中每个文本框内包含8个数据,分别表示该文本框左上、右上、左下和右下的4个顶点坐标。
步骤2:计算集合Box_set中所有文本框的最小横坐标,上述第一排序以最小横坐标按照从小到大的方式排序为例,然后按照从小到大的方式排序,得到排序集合Box_set_sort(即上述第一文本框集合)。
步骤3:选择排序集合Box_set_sort中的首个文本框,记其行信息为rm,若该文本框中的8个数据分别为[x0,y0,x1,y1,x2,y2,x3,y3]。
a.按照以下方式计算该首个文本框(即上述当前文本框)的上边界直线和下边界直线的平均斜率:
kup=(y1-y0)/(x1-x0)
kbottom=(y3-y2)/(x3-x2)
k_mean=(kup+kbottom)/2
b.根据坐标点的信息计算首个文本框中心点的坐标:
xcenter=(x0+x1+x2+x3)
ycenter=(y0+y1+y2+y3)
c.基于以上述信息构造正向的射线(即上述第一正向的射线):y=kcross1x+bcross1,其中的斜率和偏差计算如下:
kcross1=k_mean
bcross1=ycenter-kcross1·xcenter。
d.对剩下的全部文本框计算交叉信息,判断除了当前文本框之外是否存在与所述第一正向的射线交叉的其他文本框,计算时首先取出文本框左边界的两个顶点的横坐标,带入射线内计算得到对应的纵坐标,再判断该纵坐标是否在文本框左边界两个顶点的纵坐标的范围内,如是,满足条件,则为存在交叉文本框,如否,则不存在交叉文本框。
步骤4:若不存在交叉文本框,基于首个文本框的下一个文本框执行步骤3;若存在交叉文本框,则按照排序将首个交叉文本框的行信息也记为rm,然后按照以下方式基于属于当前行rm的所有文本框计算正向射线(即上述第二正向的射线)的斜率和偏差:
bcross2=ysetmean-kcross2·xsetmean
可以利用拟合直线和当前行rm的最后一个文本框的中心点构建向右的正向射线,然后重复步骤3中的d和步骤4继续查找。
步骤5:若步骤4中的正向射线并未找到交叉的后续文本框,则将所有行信息为rm的文本框从排序集合Box_set_sort中取出。
当取出的同行文本框个数大于2时即找到了初始文本行信息,则将这些文本框从排序集合Box_set_sort删除并修改rm值,否则,将单个文本框重新放回排序集合Box_set_sort进行下一轮查找;
步骤6:重复上述步骤3到5,直至排序集合Box_set_sort中的文本框个数不发生改变,然后将剩余的文本框分别标记不同的行数,并和已经成行的文本框重新组成集合Row_set_fore(即上述第二文本框集合);
步骤7:计算集合Row_set_fore中同行的所有文本框的最大横坐标,然后对所有初始行的文本框的最大横坐标按照从大到小进行排序(即上述第二排序),即对预成行文本框最大横坐标按照从大到小进行从右到左的排序;
步骤8:在集合Row_set_fore中选择排序后的首个文本框和其对应的全部同行文本,首个文本框所在行为same_rowi,按以下方式计算同行文本框的反向查找射线(即上述反向的射线)的斜率:
其中,kcross3表示反向的射线的斜率,kbox表示首个文本框所在行包括一个文本框时,基于该首个文本框的上边界直线和下边界直线斜率;kreg表示首个文本框所在行包括多个文本框时,基于该首个文本框所在行的所有文本框的中心点拟合的斜率;
步骤9:在步骤8中的查找过程中,若拟合反向射线是由same_rowi行中的文本框计算出来的,而找到的交叉文本框cross_box所在行为same_rowj时,需要根据下述查找筛选条件修改文本框行数信息:
若交叉文本框cross_box是行same_rowj中最右边的文本框(即是same_rowj行中排位最大的文本框),则认为查找到了同行断裂的情况,因此,直接将行same_rowj中所有文本框的行信息修改为行same_rowi对应的行信息;
当交叉文本框cross_box是行same_rowj中最左边的文本框(即是same_rowj行中排位最小的文本框)时,若行same_rowi中只有一个文本框而行same_rowj中有大于1个(即至少2个)文本框,则认为一个不稳定的预定文本行穿插到稳定的文本行中,则认为查找失败,不改变任意文本框的行信息,其他情况均认为查找成功,将行same_rowj中所有文本框的行信息修改为行same_rowi对应的行信息;
若交叉文本框cross_box不是行same_rowj中处于两端的文本框,则直接认定查找失败,不改变任何文本框行信息。
上述的查找条件具体判断的情况见图3,重复上述的查找工作直至集合Row_set_fore中的文本行数信息稳定不变,则输出最终的行结构化结果。
具体实施时,通过与传统框高度阈值分行方法处理的结果进行比对,即可验证上述文本图像的分行方法的精度,例如,图6(b)是应用上述文本图像的分行方法处理的结果示意图,图6(a)是应用传统框高度阈值分行方法处理的结果示意图,二者对比可以发现,上述文本图像的分行方法通过正向射线的部分文本行匹配和反向射线的文本行匹配调整,很大程度上增加了文本行查找的完整性和精确度,可以有效地将大部分长短文本都进行正确的分行,对于文本倾斜和轻微扭曲的文本图像鲁棒性更好,便于推广到不同类型的文本图像结构化输出阶段。
在本实施例中,提供了一种计算机设备,如图7所示,包括存储器702、处理器704及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的文本图像的分行方法方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的文本图像的分行方法方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种文本图像的分行装置,如下面的实施例所述。由于文本图像的分行装置解决问题的原理与文本图像的分行方法相似,因此文本图像的分行装置的实施可以参见文本图像的分行方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是本发明实施例的文本图像的分行装置的一种结构框图,如图8所示,该装置包括:
文本框识别模块802,用于识别出文本图像中的文本框;
排序模块804,用于基于文本框的最小横坐标对文本框进行第一排序;
分行模块806,用于基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
在一个实施例中,分行模块,具体用于第一排序后的文本框组成第一文本框集合,针对第一文本框集合中的文本框,以第一排序后的第一个文本框为当前文本框开始循环执行以下步骤,直至第一文本框集合中的文本框数不变时,结束循环,将第一文本框集合中剩余的每一个文本框分别单独标记一个行数:
基于当前文本框构建第一正向的射线;
若除了当前文本框之外存在与所述第一正向的射线交叉的其他文本框,则将当前文本框标记为当前行数,按照第一排序顺序将其他文本框中第一个与所述第一正向的射线交叉的文本框标记为当前行数;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框,则按照第一排序顺序将下一个文本框确定为当前文本框,返回前一步骤;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框且当前文本框为所述第一文本框集合中当前排序的最后排位的文本框,则确定所述第一文本框集合中的文本框数不变,结束循环;
基于属于当前行数的所有文本框构建第二正向的射线,若除了属于当前行数的所有文本框之外存在与所述第二正向的射线交叉的其他文本框,则按照第一排序顺序将其他文本框中第一个与所述第二正向的射线交叉的文本框标记为当前行数,继续执行当前步骤;若除了属于当前行数的所有文本框之外未存在与所述第二正向的射线交叉的文本框,则在所述第一文本框集合中删除所有属于当前行数的文本框,将所述第一文本框集合中删除文本框的下一个文本框作为当前文本框,将行数加1后作为当前行数。
在一个实施例中,分行模块,还用于计算当前文本框的上边界直线和下边界直线的平均斜率,基于所述平均斜率和所述当前文本框的中心点构造所述第一正向的射线。
在一个实施例中,分行模块,还用于基于属于当前行数的所有文本框的中心点计算斜率,并基于所述斜率和属于所述当前行数的所有文本框中最后一个标记为所述当前行数的文本框的中心点构造所述第二正向的射线。
在一个实施例中,所述排序模块,还用于所述文本图像的行结构化结果组成第二文本框集合,针对第二文本框集合中同行的文本框,基于文本框的最大横坐标进行第二排序,其中,所述第二排序与所述第一排序的顺序相反;
所述分行模块,还用于基于第二排序后的同行的所有文本框构建反向的射线,基于反向的射线与除了该同行所有文本框之外的文本框的交叉情况,修改与反向的射线交叉的文本框的行信息,输出所述文本图像的最终的行结构化结果,其中,反向为与第二排序方向一致的方向,所述反向的射线与所述正向的射线所指的方向相反。
在一个实施例中,分行模块,用于循环以下步骤,直至第二文本框集合中行信息不变时,输出所述文本图像的最终的行结构化结果:
基于第二排序后所述第二文本框集合中的首个文本框和该首个文本框所在行的其他文本框构建反向的射线;
若除了该首个文本框所在行的文本框之外存在与反向的射线交叉的交叉文本框,在交叉文本框为该交叉文本框所在行中按照第二排序排位最大的文本框的情况下,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数;在交叉文本框为该交叉文本框所在行中按照第二排序排位最小的文本框的情况下,当该交叉文本框所在行包括至少2个文本框且首个文本框所在行包括一个文本框时,不修改行信息,否则,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数。
在一个实施例中,分行模块,还用于基于该首个文本框所在行的所有文本框的中心点计算斜率,基于该斜率和该首个文本框所在行中按照第二排序排位最小的文本框的中心点构建反向的射线。
本发明实施例实现了如下技术效果:提出了识别文本图像中的文本框,进而基于文本框的最小横坐标对文本框进行第一排序,再针对第一排序后的文本框构建正向的射线,最后根据正向的射线与文本框的交叉情况确定同行的文本框,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,进而输出所述文本图像的行结构化结果。即实现了基于文本框构建的射线来对文本框进行分行,与现有技术中传统的文本行匹配方法相比,可以避免设置高度阈值、基于高度阈值来进行文本行匹配,有利于提高分行方法的鲁棒性;同时,由于没有统一排版或者格式、出现不同程度的倾斜和透视等情况并不影响识别文本框或对识别文本框的影响较少,进而可以基于识别的文本框构建射线进行分行,有利于提高分行的精度、准确性,也可以对没有非统一排版或者格式、本身存在刚性形变的文本图像进行分行处理,使得有利于扩展分行方法的适用性。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文本图像的分行方法,其特征在于,包括:
识别出文本图像中的文本框;
基于文本框的最小横坐标对文本框进行第一排序;
基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
2.如权利要求1所述的文本图像的分行方法,其特征在于,基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,包括:
第一排序后的文本框组成第一文本框集合,针对第一文本框集合中的文本框,以第一排序后的第一个文本框为当前文本框开始循环执行以下步骤,直至第一文本框集合中的文本框数不变时,结束循环,将第一文本框集合中剩余的每一个文本框分别单独标记一个行数:
基于当前文本框构建第一正向的射线;
若除了当前文本框之外存在与所述第一正向的射线交叉的其他文本框,则将当前文本框标记为当前行数,按照第一排序顺序将其他文本框中第一个与所述第一正向的射线交叉的文本框标记为当前行数;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框,则按照第一排序顺序将下一个文本框确定为当前文本框,返回前一步骤;若除了当前文本框之外未存在与所述第一正向的射线交叉的文本框且当前文本框为所述第一文本框集合中当前排序的最后排位的文本框,则确定所述第一文本框集合中的文本框数不变,结束循环;
基于属于当前行数的所有文本框构建第二正向的射线,若除了属于当前行数的所有文本框之外存在与所述第二正向的射线交叉的其他文本框,则按照第一排序顺序将其他文本框中第一个与所述第二正向的射线交叉的文本框标记为当前行数,继续执行当前步骤;若除了属于当前行数的所有文本框之外未存在与所述第二正向的射线交叉的文本框,则在所述第一文本框集合中删除所有属于当前行数的文本框,将所述第一文本框集合中删除文本框的下一个文本框作为当前文本框,将行数加1后作为当前行数。
3.如权利要求2所述的文本图像的分行方法,其特征在于,基于当前文本框构建第一正向的射线,包括:
计算当前文本框的上边界直线和下边界直线的平均斜率,基于所述平均斜率和所述当前文本框的中心点构造所述第一正向的射线。
4.如权利要求2所述的文本图像的分行方法,其特征在于,基于属于当前行数的所有文本框构建第二正向的射线,包括:
基于属于当前行数的所有文本框的中心点计算斜率,并基于所述斜率和属于所述当前行数的所有文本框中最后一个标记为所述当前行数的文本框的中心点构造所述第二正向的射线。
5.如权利要求1至4中任一项所述的文本图像的分行方法,其特征在于,还包括:
所述文本图像的行结构化结果组成第二文本框集合,针对第二文本框集合中同行的文本框,基于文本框的最大横坐标进行第二排序,其中,所述第二排序与所述第一排序的顺序相反;
基于第二排序后的同行的所有文本框构建反向的射线,基于反向的射线与除了该同行所有文本框之外的文本框的交叉情况,修改与反向的射线交叉的文本框的行信息,输出所述文本图像的最终的行结构化结果,其中,反向为与第二排序方向一致的方向,所述反向的射线与所述正向的射线所指的方向相反。
6.如权利要求5所述的文本图像的分行方法,其特征在于,基于第二排序后的同行的所有文本框构建反向的射线,基于反向的射线与除了该同行所有文本框之外的文本框的交叉情况,修改与反向的射线交叉的文本框的行信息,输出所述文本图像的最终的行结构化结果,包括:
循环以下步骤,直至第二文本框集合中行信息不变时,输出所述文本图像的最终的行结构化结果:
基于第二排序后所述第二文本框集合中的首个文本框和该首个文本框所在行的其他文本框构建反向的射线;
若除了该首个文本框所在行的文本框之外存在与反向的射线交叉的交叉文本框,在交叉文本框为该交叉文本框所在行中按照第二排序排位最大的文本框的情况下,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数;在交叉文本框为该交叉文本框所在行中按照第二排序排位最小的文本框的情况下,当该交叉文本框所在行包括至少2个文本框且首个文本框所在行包括一个文本框时,不修改行信息,否则,将该交叉文本框所在行的所有文本框的行数修改为该首个文本框所在行的行数。
7.如权利要求6所述的文本图像的分行方法,其特征在于,基于第二排序后所述第二文本框集合中的首个文本框和该首个文本框所在行的其他文本框构建反向的射线,包括:
基于该首个文本框所在行的所有文本框的中心点计算斜率,基于该斜率和该首个文本框所在行中按照第二排序排位最小的文本框的中心点构建反向的射线。
8.一种文本图像的分行装置,其特征在于,包括:
文本框识别模块,用于识别出文本图像中的文本框;
排序模块,用于基于文本框的最小横坐标对文本框进行第一排序;
分行模块,用于基于第一排序后的文本框构建正向的射线,将与同一正向的射线相交的文本框确定为同行的文本框,当与同一正向的射线相交的只有一个文本框时,确定该一个文本框属于单独的一行,输出所述文本图像的行结构化结果,其中,正向为与第一排序方向一致的方向。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的文本图像的分行方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7中任一项所述的文本图像的分行方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488444.XA CN111626250B (zh) | 2020-06-02 | 2020-06-02 | 文本图像的分行方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488444.XA CN111626250B (zh) | 2020-06-02 | 2020-06-02 | 文本图像的分行方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626250A true CN111626250A (zh) | 2020-09-04 |
CN111626250B CN111626250B (zh) | 2023-08-11 |
Family
ID=72272021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010488444.XA Active CN111626250B (zh) | 2020-06-02 | 2020-06-02 | 文本图像的分行方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626250B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749694A (zh) * | 2021-01-20 | 2021-05-04 | 中科云谷科技有限公司 | 用于识别图像方向、识别铭牌文字的方法及装置 |
CN113239227A (zh) * | 2021-06-02 | 2021-08-10 | 泰康保险集团股份有限公司 | 图像数据结构化方法、装置、电子设备及计算机可读介质 |
CN114120340A (zh) * | 2021-10-21 | 2022-03-01 | 泰康保险集团股份有限公司 | 一种文本图像的结构化处理方法及装置 |
WO2023029116A1 (zh) * | 2021-08-30 | 2023-03-09 | 广东艾檬电子科技有限公司 | 文本图像的排版方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0758775A2 (en) * | 1995-08-11 | 1997-02-19 | Canon Kabushiki Kaisha | Feature extraction system |
CN109635718A (zh) * | 2018-12-10 | 2019-04-16 | 科大讯飞股份有限公司 | 一种文本区域划分方法、装置、设备及存储介质 |
CN110147774A (zh) * | 2019-05-23 | 2019-08-20 | 阳光保险集团股份有限公司 | 表格式图片版面分析方法和计算机存储介质 |
CN110490190A (zh) * | 2019-07-04 | 2019-11-22 | 贝壳技术有限公司 | 一种结构化图像文字识别方法及系统 |
CN110837796A (zh) * | 2019-11-05 | 2020-02-25 | 泰康保险集团股份有限公司 | 图像处理方法及装置 |
CN110929721A (zh) * | 2019-10-28 | 2020-03-27 | 世纪保众(北京)网络科技有限公司 | 文本切割方法、装置、计算机设备和存储介质 |
CN111008559A (zh) * | 2019-10-31 | 2020-04-14 | 浙江数链科技有限公司 | 一种面单识别结果的排版方法、系统及计算机设备 |
-
2020
- 2020-06-02 CN CN202010488444.XA patent/CN111626250B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0758775A2 (en) * | 1995-08-11 | 1997-02-19 | Canon Kabushiki Kaisha | Feature extraction system |
CN109635718A (zh) * | 2018-12-10 | 2019-04-16 | 科大讯飞股份有限公司 | 一种文本区域划分方法、装置、设备及存储介质 |
CN110147774A (zh) * | 2019-05-23 | 2019-08-20 | 阳光保险集团股份有限公司 | 表格式图片版面分析方法和计算机存储介质 |
CN110490190A (zh) * | 2019-07-04 | 2019-11-22 | 贝壳技术有限公司 | 一种结构化图像文字识别方法及系统 |
CN110929721A (zh) * | 2019-10-28 | 2020-03-27 | 世纪保众(北京)网络科技有限公司 | 文本切割方法、装置、计算机设备和存储介质 |
CN111008559A (zh) * | 2019-10-31 | 2020-04-14 | 浙江数链科技有限公司 | 一种面单识别结果的排版方法、系统及计算机设备 |
CN110837796A (zh) * | 2019-11-05 | 2020-02-25 | 泰康保险集团股份有限公司 | 图像处理方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749694A (zh) * | 2021-01-20 | 2021-05-04 | 中科云谷科技有限公司 | 用于识别图像方向、识别铭牌文字的方法及装置 |
CN112749694B (zh) * | 2021-01-20 | 2024-05-21 | 中科云谷科技有限公司 | 用于识别图像方向、识别铭牌文字的方法及装置 |
CN113239227A (zh) * | 2021-06-02 | 2021-08-10 | 泰康保险集团股份有限公司 | 图像数据结构化方法、装置、电子设备及计算机可读介质 |
CN113239227B (zh) * | 2021-06-02 | 2023-11-17 | 泰康保险集团股份有限公司 | 图像数据结构化方法、装置、电子设备及计算机可读介质 |
WO2023029116A1 (zh) * | 2021-08-30 | 2023-03-09 | 广东艾檬电子科技有限公司 | 文本图像的排版方法、装置、电子设备及存储介质 |
CN114120340A (zh) * | 2021-10-21 | 2022-03-01 | 泰康保险集团股份有限公司 | 一种文本图像的结构化处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111626250B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626250A (zh) | 文本图像的分行方法、装置、计算机设备及可读存储介质 | |
CN110472208A (zh) | Pdf文档中表格解析的方法、系统、存储介质及电子设备 | |
CN106796647B (zh) | 场景文本检测系统和方法 | |
CN108334805B (zh) | 检测文档阅读顺序的方法和装置 | |
CN112200117B (zh) | 表格识别方法及装置 | |
CN113065536B (zh) | 处理表格的方法、计算设备和计算机可读存储介质 | |
CN105069457B (zh) | 图像识别方法和装置 | |
CN1492377A (zh) | 表格处理系统及方法 | |
CN105261109A (zh) | 一种钞票冠字号识别方法 | |
CN112926565B (zh) | 图片文本的识别方法、系统、设备和存储介质 | |
CN112613553B (zh) | 图片样本集生成方法、装置、计算机设备和存储介质 | |
CN112766170B (zh) | 基于簇类无人机图像的自适应分割检测方法及装置 | |
CN110490190A (zh) | 一种结构化图像文字识别方法及系统 | |
CN112348028A (zh) | 一种场景文本检测方法、批改方法、装置、电子设备及介质 | |
CN112528776A (zh) | 文本行校正方法和装置 | |
US8787702B1 (en) | Methods and apparatus for determining and/or modifying image orientation | |
US20230138491A1 (en) | Continuous learning for document processing and analysis | |
CN117131196B (zh) | 一种文本处理方法及系统 | |
US10824899B2 (en) | Structural clustering and alignment of OCR results | |
CN113343658A (zh) | 一种pdf文件信息抽取方法、装置以及计算机设备 | |
CN112949616A (zh) | 一种题目处理方法、装置、电子设备及计算机存储介质 | |
CN115641573B (zh) | 一种文本排序方法、装置、电子设备和存储介质 | |
CN115797291B (zh) | 回路端子的识别方法、装置、计算机设备和存储介质 | |
US20220406081A1 (en) | Image processing apparatus, image processing method, and storage medium | |
CN112733741B (zh) | 交通标识牌识别方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |