偏移图像中的旋转的表格的制作方法

文档序号:11519594阅读:292来源:国知局
偏移图像中的旋转的表格的制造方法与工艺

本发明涉及偏移图像中的旋转的表格。



背景技术:

图像可包括任何数目的表格。此外,每一表格可具有任何尺寸(即,任何数目行、任何数目列)。表格的每一单元(即,行和列的交叉点)可包括任何字体、尺寸、类型等的文本字符。该表格可以是手绘的(即,由用户手动绘制的)或机器生成的。在该图像内,该表格可以不是完全水平或完全垂直的。换言之,表格可针对水平轴或垂直轴旋转。该旋转可以是用户手动绘制表格和/或生成图像的处理(例如,扫描)的结果。

光学字符识别(ocr)是标识图像内的文本字符(例如,表格的单元内的文本字符)的处理。存在许多算法来执行ocr。然而,针对水平轴或垂直轴旋转的文本字符通常阻碍这些算法,并导致不正确结果。无论如何,即使旋转表格,用户依然希望对表格执行ocr。



技术实现要素:

一般来说,在第一方面,本发明涉及用于图像处理的方法。该方法包括:获得包括表格的图像;标识与图像中的表格对应的第一线条、第一线条的第一置信(confidence)值、和第一线条的第一角度;启动与多个角度对应的多个角度组(bin);基于所述第一置信值,来计算环绕第一角度的窗口内的多个角度组的第一子集的第一组多个组值;将所述第一组多个组值添加到多个角度组的第一子集;标识多个角度组中的包括最大组值的角度组;和基于包括最大组值的角度组,来旋转图像。

一般来说,在一个方面,本发明涉及图像处理装置。该图像处理装置包括:用于获得包括表格的图像的部件;用于标识与图像中的表格对应的第一线条、第一线条的第一置信值、和第一线条的第一角度的部件;用于启动与多个角度对应的多个角度组的部件;用于基于所述第一置信值、来计算环绕第一角度的窗口内的多个角度组的第一子集的第一组多个组值的部件;用于将所述第一组多个组值添加到多个角度组的第一子集的部件;用于标识多个角度组中的包括最大组值的角度组的部件;和用于基于包括最大组值的角度组、来旋转图像的部件。

一般来说,在一个方面,本发明涉及用于图像处理的系统。所述系统包括:缓冲器,存储包括表格的图像;线条提取器:标识与图像中的表格对应的第一线条、第一线条的第一置信值、和第一线条的第一角度;和标识与图像中的表格对应的第二线条、第二线条的第二置信值、和第二线条的第二角度;角度组引擎,包括多个组:基于所述第一置信值,来计算环绕第一角度的窗口内的多个角度组的第一子集的第一组多个组值;基于所述第二置信值,来计算环绕第二角度的窗口内的多个角度组的第二子集的第二组多个组值;和将所述第一组多个组值添加到多个角度组的第一子集并将所述第二组多个组值添加到多个角度组的第二子集;和表格引擎,用于基于包括最大组值的角度组,来旋转图像。

本发明的其它方面根据以下描述和附图将显而易见。

附图说明

图1示出了根据本发明一个或多个实施例的系统。

图2示出了根据本发明一个或多个实施例的流程图。

图3a-3f示出了根据本发明一个或多个实施例的实现示例。

图4示出了根据本发明一个或多个实施例的计算机系统。

具体实施方式

现在将参考附图来详细描述本发明的特定实施例。为了一致,各个图中的相同元件由相同附图标记表示。

在本发明实施例的以下详细描述中,提出许多特定细节以便提供本发明的更全面理解。然而,本领域技术人员将清楚的是,可在没有这些特定细节的情况下实践本发明。在其它实例中,还没有详细描述公知特征,以避免不必要地使得该描述复杂化。

一般来说,本发明的实施例提供了用于图像处理的方法、非瞬时计算机可读介质(crm)、和系统。包括表格的图像被获得并转换为任务。因为表格可手绘,所以表格可以不是完全水平或垂直和/或表格可以不具有完全笔直的线。图像内的与表格对应的多根线条被标识,并且每一标识的线条具有角度和置信值。对于每一线条,对于环绕线条的角度的窗口内的角度组计算组值。该图像基于具有最大组值的角度组旋转。在该旋转之后,表格更接近水平和/或垂直,这改进对图像操作的任何光学字符识别(ocr)算法的结果。

图1示出了根据本发明一个或多个实施例的系统(100)。如图1中所示,系统(100)具有多个组件,包括例如缓冲器(104)、线条提取器(114)、角度组引擎(110)、和表格引擎(108)。这些组件(104,108,110,114)的每一个可位于相同计算装置(例如,个人计算机(pc)、膝上计算机、平板pc、智能电话、多功能打印机、机器房(kiosk)、服务器等)上或由具有有线和/或无线片段的任何尺寸网络连接的不同计算装置上。下面讨论这些组件中的每一个。

在本发明的一个或多个实施例中,该系统(100)包括缓冲器(104)。该缓冲器(104)可在硬件(即,电路)、软件、或其任意组合中实现。该缓冲器(104)被配置为存储包括表格的图像(106)。图像(106)可从任何源获得(例如,下载)。此外,图像(106)可以是任何尺寸和任何格式(例如,jpeg、gif、bmp、png等)。

在一个或多个实施例中,图像(106)中的表格是手绘的。因此,表格可以不是完全水平或完全垂直的。换言之,表格可针对水平和/或垂直轴旋转。此外,表格的线条可与不是完全笔直的。在一个或多个实施例中,表格是机器生成的。然而,即使在这样的实施例中,因为生成图像(106)的处理(例如,扫描)所引入的失真,所以表格可针对水平或垂直轴旋转。表格可具有任意数目的行和列。此外,表格的每一单元可具有文本和/或图形。

在本发明的一个或多个实施例中,该系统(100)包括线条提取器(114)。线条提取器(114)可在硬件(即,电路)、软件、或其任意组合中实现。线条提取器(114)标识图像中的直线、每一线条的角度(例如,针对水平或垂直轴)、和每一线条的置信值(即,有助于该线条的图像中的像素的数目)。在本发明的一个或多个实施例中,线条提取器(114)向图像(106)应用霍夫变换,以标识线条、线条的角度、和线条的置信值。在本发明的一个或多个实施例中,线条提取器(114)在标识图像(106)中的线条之前将图像(106)变换为掩模(例如,二进制图像),以改进线条标识处理。

在本发明的一个或多个实施例中,线条提取器(114)丢弃未能满足一个或多个标准的线条。例如,可将线条的置信值与阈值比较,并且如果置信值低于阈值,则可以丢弃该线条。该阈值可被计算为最置信的n根线条的平均置信值的百分比p。换言之,对于具有最高置信值的n根线条计算平均置信值,并且丢弃具有小于平均置信值的p的置信值的任何线条。例如,p可等于50%,并且n可等于10。

在本发明的一个或多个实施例中,系统(100)包括角度组引擎(110)。角度组引擎(110)可在硬件(即,电路)、软件、或其任意组合中实现。角度组引擎(110)被配置为初始化角度组的集合(例如,阵列),其中每一角度组对应于角度。初始化角度组可包括将所有角度组设置为零或另一常数。集合中的角度组的数目(即,角度组的集合的基数)取决于用来标识线条的变换(例如,霍夫变换)的角分辨率。该变换可以仅寻找具有该角分辨率的增加的角度的线条。该角分辨率可以是该变换的运行时间输入参数。例如,如果该变换的角分辨率是1度,则存在180个可能角度并由此180个角度组(即,0度到179度)。

具有该详细描述的益处的本领域技术人员将理解的是,手绘表格很少利用0和90度的完美线条绘制。对于通过应用的变换所检测的标识的线条的任意角度,标识的线条可能已按照在环绕标识的角度的窗口内的角度绘制。换言之,如果该变换检测到θ度的线条,则该线条可能实际上在从θ–w度到θ+w度的任何地方。例如,w可以是5度,并由此该窗口从θ(即,标识的线条的角度)沿着两个方向有效扩展5度。

在本发明的一个或多个实施例中,角度组引擎(110)对于每一标识的线条计算从θ–w度到θ+w度的每一角度组的组置信值。该组置信值进一步远离θ减小。这转变为按照θ绘制标识的线条的高置信度、以及按照θ–w度或θ+w度绘制标识的线条的最低置信度。在本发明的一个或多个实施例中,角度组b的组置信值(bcvb)通过以下计算:

bcvb=w–|θ–b|+1

如以上等式中所示,角度组b和该线条的角度之间的差是bcvb的因子。具有该详细描述的益处的本领域技术人员将理解的是,在其中b=θ的窗口的中间,bcv为w+1。相反,在其中b=θ±w的窗口的边缘,bcv为1。

在本发明的一个或多个实施例中,角度组引擎(110)对于每一标识的线条计算环绕标识的线条的角度的窗口内的每一角度组的组值。在一个或多个实施例中,每一组b的组值被计算为:

每一组b的组值=bcvbx(标识的线条的置信值)2

具有该详细描述的益处的本领域技术人员将理解的是,通过对线条的置信值求平方,向更强线条给予更大权重,并且抵消具有相对低置信值的许多线条的可能效果。向它们的相应角度组添加组值,并且对于没有丢弃的所有标识的线条该处理重复。

在本发明的一个或多个实施例中,系统(100)包括表格引擎(108)。表格引擎(108)可在硬件(即,电路)、软件、或其任意组合中实现。表格引擎(108)被配置为标识具有最大组值的角度组。认为图像(106)中的表格旋转该角度组(例如,10度)。表格引擎(108)旋转图像(106),并由此基于该角度组旋转表格,以使得该表格大致水平或垂直(即,大致与水平或垂直轴对准)。这使得用户在手绘表格时引入的旋转和/或在生成图像(106)的扫描处理期间引入的旋转有效偏移。该表格引擎(108)还被配置为对图像执行ocr,以提取表格的单元内的文本。因为表格现在较好地对准水平和/或垂直轴,所以ocr成功(即,正确标识/提取文本字符)的似然性已增加。

尽管系统(100)被示出为具有四个组件(104,108,110,114),但是在本发明的其它实施例中,系统(100)可具有更多或更少组件。此外,上述每一组件的功能性可在组件之间分离。

图2示出了根据本发明一个或多个实施例的流程图。该流程图描绘了用于图像处理的处理。特别是,该流程图描绘了用于将手绘表格旋转为大致水平或垂直的处理。图2中的步骤的一个或多个可由上面参考图1讨论的系统(100)的组件执行。在本发明的一个或多个实施例中,图2中示出的步骤的一个或多个可被省略、重复、和/或按照与图2中示出的顺序不同的顺序执行。因此,本发明的范围不应被看作限于图2中示出的步骤的特定安排。

初始地,获得包括表格的图像(步骤205)。可从任何源获得(例如,下载)该图像。该图像可通过扫描硬拷贝文档而生成。该图像可以是任何尺寸或格式。在一个或多个实施例中,图像中的表格是手绘的。因此,表格可以不是完全水平或完全垂直。换言之,表格可针对水平和/或垂直轴旋转。此外,表格的线条可以不是完全笔直的。在一个或多个实施例中,表格是机器生成的。然而,即使在这样的实施例中,因为由生成图像的扫描处理引入的失真,所以表格可针对水平或垂直轴旋转。该表格可具有任意数目的行和列。此外,表格的每一单元可具有文本和/或图形。

在步骤210,将图像转换为掩模。换言之,将图像转换为二进制图像。可将与表格中的线条和/或单元中的文本字符对应的像素设置为1,而将所有剩余像素设置为0。

在步骤215,标识与表格对应的图像中的线条。还标识每一线条的角度(例如,针对水平或垂直轴)和每一线条的置信值(即,有助于线条的图像中的像素的数目)。在本发明的一个或多个实施例中,通过向图像应用霍夫变换,来标识线条、线条的角度和线条的置信值。还可以使用其它变换来标识线条。

在本发明的一个或多个实施例中,丢弃未能满足一个或多个标准的线条。例如,可将线条的置信值与阈值比较,并且如果置信值低于阈值,则可丢弃该线条。可计算该阈值作为最置信的n个线条的平均置信值的百分比p。换言之,对于具有最高置信值的n个线条计算平均置信值,并且丢弃具有小于平均置信值的p的置信值的任何线条。

在步骤220,对角度组进行初始化。每一角度组对应于角度。初始化角度组可包括将所有角度组设置为零或另一常数。集合中的角度组的数目(即,角度组的集合的基数)取决于用来标识线条所使用的变换的角分辨率(步骤215)。该变换可以仅查找具有该角分辨率的增加的角度的线条。角分辨率可以是该变换的运行时间输入参数。例如,如果该变换的角分辨率是1度,则存在180个可能角度,并由此存在180个角度组(即,0度到179度)。

在步骤225,选择这些线条之一。特别是,选择还没有选择的线条。可随机选择线条。另外或作为选择,可选择具有最高置信值或最低置信值的线条。另外或作为选择,可选择具有最小角度或最大角度的线条。

在步骤230,对于环绕所选择的线条的角度的窗口内的角度组,计算组值。基于选择的线条的置信值,来计算组值。如上所述,对于所应用的变换所检测的所标识的线条的任何角度,所标识的线条可能已按照在环绕所标识的角度的窗口内的角度而绘制。换言之,如果该变换检测到θ度的线条,则该线条可能实际上在从θ–w度到θ+w度的任何地方。

在本发明的一个或多个实施例中,计算从θ–w度到θ+w度的每一角度组的组置信值。组置信值进一步远离θ降低。在本发明的一个或多个实施例中,通过以下来计算用于角度组b的组置信值(bcvb):

bcvb=w–|θ–b|+1

在本发明的一个或多个实施例中,计算环绕所标识的线条的角度的窗口内的每一角度组的组值。在一个或多个实施例中,角度组b的组值被计算为:

角度组b的组值=bcvbx(标识的线条的置信值)2

在步骤235,将组值添加到它们的相应的角度组。具有该详细描述的本领域技术人员将理解的是,因为图2中描绘的处理中的一个或多个步骤重复,所以角度组可能已在存储值。在这样的场景中,将在步骤230计算的组值添加到在角度组中存储的现有值(即,不重写现有值)。

在步骤240,确定是否剩余还没有选择的任何附加线条。当确定剩余至少一个线条时,处理返回到步骤225。当确定已选择了所有线条时,处理前进到步骤245。

在步骤245,标识具有最大组值的角度组。认为图像中的表格旋转了该角度组(例如,10度)。在步骤250,图像(以及由此表格)基于与角度组对应的角度旋转。这有效偏移用户在手绘该表格时引入的旋转和/或在生成该图像的扫描处理期间引入的旋转。

在步骤255,对图像执行ocr,以提取表格的单元内的文本。因为表格在旋转之后较好对准水平和/或垂直轴,所以ocr成功(正确标识/提取文本字符)的似然性增大。

图3a-3f示出了根据本发明一个或多个实施例的实现示例。如图3a中所示,存在具有手绘表格(308)的图像(306)。表格(308)的每一单元包括文本。手绘表格(308)的线条不是笔直的。此外,按照角度绘制手绘表格(308)(即,其不与水平轴和/或垂直轴对准)。在该朝向中对图像(306)执行ocr将可能产生差结果。换言之,ocr算法可能不标识/提取旋转的表格的单元中的文本。

图3b示出了在其已变换为掩模(例如,二进制图像)之后的图像(310)。将与线条和文本字符对应的所有像素设置为1,而将所有剩余像素设置为零。

图3c示出了在霍夫变换之后的图像(312)。霍夫变换标识图像内的多个直线。霍夫变换还指定每一标识的线条的角度(例如,针对水平或垂直轴)和置信值(即,有助于标识的线条的图像中的像素的数目)。在图3c中,标识的线条之一具有角度θ=10度、以及置信值483。

在图3d中,示出了这样的图表,其中选择的线条的计算的组置信值和计算的组值具有角度θ=10度、以及置信值483。在该示例中,窗口从标识的线条的角度沿着任一方向延伸5度(即,θ=10度,w=5度,θ–w=5度,以及θ+w=15度)。如示出的,组置信值,以及由此组值,对于等于标识的线条的角度(θ=10度)的角度组是最大的。类似地,组置信值,以及由此组值,在窗口的边缘(即,角度组5度和角度组15度)是最小的。将组值添加到它们的相应角度组。对于所有标识的线条执行类似计算。

图3e示出了在执行所有计算之后的角度组的一些的组值。如图3e中示出的,+10度是具有最大组值的角度组。因此,认为手绘表格(308)旋转+10度。

在fig.3f中,图像(314)旋转–10度,以使得该表格的手绘所生成的旋转偏移。如图3f中所示,表格(以及由此单元中的文本)更接近于对准水平和垂直轴。因此,对于图像执行的任何ocr操作在标识/提取表格中的文本字符时更可能成功。

本发明的一个或多个实施例可具有以下优点:标识表格的旋转角的能力;基于图像内的标识的线条、而标识表格的旋转角的能力;处理手绘表格的能力;改进对于旋转的表格的成功ocr操作的似然性的能力;说明线角的窗口之间的各个置信级别的能力;基于阈值和置信值丢弃标识的线条的能力;等等。

本发明的实施例可在任何类型计算系统上虚拟实现,而不管使用的平台。例如,该计算系统可以是一个或多个移动装置(例如,膝上计算机、智能电话、个人数字助理、平板计算机、或其它移动装置)、桌面计算机、服务器、服务器底架中的叶片、或包括至少最小处理功率、存储器、以及(多个)输入和输出装置以执行本发明的一个或多个实施例的任何其它类型计算装置。例如,如图4中所示,计算系统(400)可包括一个或多个计算机处理器(402)、关联处理器(404)(例如,随机存取存储器(ram)、高速缓存存储器、闪速存储器等)、一个或多个储存装置(406)(例如,硬盘、诸如致密盘(cd)驱动器或数字多功能盘(dvd)驱动器的光学驱动器、闪存记忆棒等)、以及多个其它元素和功能性。(多个)计算机处理器(402)可以是用于处理指令的集成电路。例如,(多个)计算机处理器可以是处理器的一个或多个内核、或微内核。计算系统(400)还可以包括一个或多个输入装置(410),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔、和任何其它类型输入装置。此外,计算系统(400)可包括一个或多个输出装置(408),诸如屏幕(例如,液晶显示器(lcd)、等离子显示器、触摸屏、阴极射线管(crt)监视器、投影仪、或其它显示装置)、打印机、外部储存器、或任何其它输出装置。(多个)输出装置的一个或多个可以与(多个)输入装置相同或不同。计算系统(400)可经由网络接口连接(未示出)连接到网络(412)(例如,局域网(lan)、诸如因特网的广域网(wan)、移动网络、或任何其它类型网络)。(多个)输入和输出装置可本地或远程(例如,经由网络(412))连接到(多个)计算机处理器(402)、存储器(404)、和(多个)储存装置(406)。存在许多不同类型的计算系统,并且前述(多个)输入和输出装置可采取其它形式。

执行本发明的实施例的计算机可读程序代码的形式的软件指令可被全部或部分、暂时或永久、存储在非瞬时计算机可读介质上,诸如cd、dvd、储存装置、盘、带、闪速存储器、物理存储器、或任何其它计算机可读储存介质上。特别是,软件指令可对应于计算机可读程序代码,所述计算机可读程序代码当由(多个)处理器运行时,被配置为执行本发明的实施例。

此外,前述计算系统(400)的一个或多个元素可位于远程地点并通过网络(412)连接到其它元素。此外,本发明的一个或多个实施例可在具有多个节点的分布系统上实现,其中本发明的每一部分可位于分布系统内的不同节点上。在本发明的一个实施例中,该节点对应于不同计算装置。作为选择,该节点可对应于具有关联物理存储器的计算机处理器。该节点可作为选择对应于具有共享存储器和/或资源的计算机处理器或计算机处理器的微内核。

尽管已针对有限数目实施例描述了本发明,但是具有该公开的权益的本领域技术人员将理解的是,能设计其它实施例,而不脱离这里公开的本发明的范围。因此,本发明的范围应仅由所附权利要求限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1