光学字符识别中的技术的制作方法

文档序号:6426618阅读:115来源:国知局
专利名称:光学字符识别中的技术的制作方法
技术领域
本发明涉及计算机技术,更具体地,涉及光学字符识别技术。
背景技术
光学字符识别技术可用于解码使用包括但不限于扫描仪和数码相机在内的各种类型的图像捕捉设备获得的诸如水平的文本行之类的字符的图像。通常,图像捕捉设备的定向的变动或在其上显示字符的表面(例如,纸)的变动产生具有相对于原始字符变形的字符的图像。例如,文本行的图像通常相对于页面上的原始文本行而偏斜或旋转。难以可靠地解码图像内偏斜的或旋转的文本行。

发明内容
将可以在基于网络的或基于客户机的操作环境中实现其各方面的图像纠偏系统 (“IDS”)和技术用于光学字符识别的上下文中,用来在具有原始线性定向的原始字符集的图像内估计图像中具有所获取的线性定向的对应的所获取的字符集的旋转角(相对于原始线性定向)。根据一种技术,通过将边缘检测滤波器应用到所获取的字符集(或其一个或多个区域或子区域)来估计旋转角以便产生边缘图。边缘图包括“边缘像素”,边缘像素是该图像的沿着与所获取的字符集相关联的一条或多条线的像素,例如中线或基线。边缘图被输入到线性霍夫(hough)变换滤波器以便产生一组(r,θ)参数形式的输出线。输出线由矩阵的元素表示,每一像素向特定输出线贡献一“投票”。给每一输出线分配分数(例如,基于投票的数量)。基于各分数,标识一个或多个主导输出线及其对应于输出线的参数θ的斜率,且从而标识所估计的旋转角。根据另一技术,也可以计算表示所估计的旋转角紧密地逼近实际旋转角的似然的置信度值。通常,所估计的旋转角的置信度取决于具有在所获取的字符集的一个或多个区域或子区域内检测到的相似的斜率的主导文本行的数量和分布。其中,置信度值可以用来判断是否在进行进一步的光学字符识别处理活动之前纠偏图像。提供本概述以便以简化形式化介绍概念的选集。在详细描述部分中进一步描述这些概念。与在本概述中所描述的那些元素或步骤不同的元素或步骤是可能的,且不必定要求某一元素或步骤。本概述不旨在标识所要求保护的本主题的关键特征或必要特征,也不旨在用于辅助判断所要求保护的本主题的范围。所要求保护的本主题不限于解决此文档的任何部分中提到的任何或所有缺点的实现。


图1是示出显示原始字符集的示例表面的框图,该原始字符集的偏斜图像被图像捕捉设备捕捉并被图像纠偏系统(“IDS”)和光学字符识别(“OCR”)管线处理。图2示出图1中示出的图像捕捉设备所获取的示例图像,该图像包括单个文本行。
图3是图1中示出的IDS的简化功能框图。图4是用于使用图1和图3中示出的IDS的各方面来估计由图像捕捉设备捕捉的图像偏斜的旋转角以及判断这样的估计中的置信度的方法的流程图。图5示出图3中示出的边缘检测器的输入和输出的示例。图6是由图3中示出的线检测器生成的示例输出线的参数的图形表示。图7是促进具有由图3中示出的线检测器生成的主导斜率的输出线的标识的示例矩阵的图形表示。图8是其中可以实现或使用图1和图3中示出的IDS的所有或部分或图4中示出的方法的操作环境的示例配置的简化功能框图。
具体实施例方式在此描述的图像纠偏系统(“IDS”)和技术在基于客户机和/或基于网络的设备中操作,以便以某种置信度估计在图像内所获取的字符集的旋转角。所获取的字符集对应于以原始线性定向被显示在表面上的原始字符集。在此讨论的技术对于增强字符的图像的准确和有效解码是有用的。现在转到附图,其中相同的数字标明相同的组件,图1是示出具有原始线性定向 105的原始字符集104被显示在其上的示例表面102的简化功能框图。出于讨论而非限制的目的,在此假设原始字符集包括一个或多个文本行(在页面的一个或多个区域或子区域中),且原始线性定向是水平。可以是诸如扫描仪或数码相机之类的任何已知的或后来开发的设备的图像捕捉设备106获取(偏斜的)图像111。图像111被输入到IDS 101并由 IDS 101处理(下面结合图3进一步讨论),以便产生经纠偏的图像113,正如所示出的,图像113在光学字符识别(“OCR”)管线122处进一步经受解码,以便产生经解码的数字输出页面122。IDS 101的各方面可以与图像捕捉设备106和/或OCR管线120定位在一起,或远程地位于 一个或多个分离的设备上。继续参考图1,图2示出图像111的示例部分——对应于以原始线性定向105(水平)被显示在表面102上的原始字符集104的所获取的字符集204(示出单个文本行)。可以看出,所获取的字符集的每一字符由图像111中的像素组210表示。一般地,像素组210 包括基于图像111的分辨率和/或图像捕捉设备106的其它特性的许多像素。每一像素具有灰度级值。示出像素1到N;像素1211具有灰度级值1212且像素N 215具有灰度级值 216。可以看出,所获取的字符集204具有所获取的线性定向205,该线性定向205相对于原始线性定向105以由旋转角222的值表示的量偏斜,可以使用IDS 101和/或在此描述的技术来估计旋转角222的值。准确地估计旋转角222的值使得可以在解码图像111中的所获取的字符集204之前对图像111进行纠偏,这增强了准确的解码,因为解码算法通常假设字符的行是水平的。可以经由OCR管线120使用任何已知的或后来开发的图像处理技术 (在此既不进一步讨论具体的纠偏技术也进一步讨论OCR管线120的图像处理技术)来完成字符解码。继续参考图1和图2,图3是(图1中示出的)IDS 101的简化功能框图,它包括旋转角估计器302和估计置信度计算器350。一般地,设计选择和/或操作环境规定如何实现和在哪里实现IDS 101的具体功能(例如,在客户机端操作环境或服务器端操作环境中)。可以使用硬件、软件、固件、或其组合来实现这样的功能。旋转角估计器302负责估计图像中的所获取的字符集相对于对应的原始字符集的原始定向所偏斜的量——也就是说,估计诸如图2中示出的旋转角222之类的旋转角的值。旋转角估计器302包括产生边缘像素307的边缘图306的边缘检测器304和产生输出线311和它们的分数313以及矩阵312的线检测器310。下面结合图4-图8进一步讨论关于旋转角估计器302的实现和操作的进一步细节。估计置信度计算器350负责提供表示已经估计的一个或多个旋转角的置信度的置信度值351。基于置信度值,在经由OCR管线120进行进一步处理之前,可以将图像纠偏 (或不纠偏)以纠正图像捕捉过程引入的旋转变形。下面结合图4进一步讨论关于估计置信度计算器350的实现和操作的进一步细节。继续参考图1-图3,图4是示出用于使用IDS 101的各方面来估计由图像捕捉设备(例如图像捕捉设备106)捕捉的图像(例如图像111)所偏斜的旋转角(例如旋转角 222)以及计算这样的估计中的置信度(置信度可以被用来决定是否在进一步的OCR处理/ 解码之前对图像进行纠偏)的示例方法的流程图。一般地,如果特定的图像(页面)内的文本行的主导斜率可以被标识,则该主导斜率可以被用来计算旋转角。图4中示出的方法可以由计算机可执行指令(例如结合图8示出和讨论的计算机可执行指令806)实现,被存储在计算机可读存储介质(也结合图8示出和讨论计算机可读存储介质804)中且由一个或多个通用处理器、多用途处理器或专用处理器(例如也结合图 8示出和讨论的处理器80 执行。除非具体地说明,否则其方法或步骤不受特定的次序或序列约束。另外,可以同时地发生或执行其方法或步骤中的一些。该方法在框400开始且在框402继续,其中标识对应于原始字符集(诸如原始字符集104)的所获取的字符集(诸如所获取的字符集204)的图像(诸如图像111)。所获取的字符集相对于原始字符集的定向偏斜的量可以由旋转角(诸如旋转角222)的值表示。 通常假设原始字符集104包括一个或多个文本行,这些文本行水平地定向(如果文本行不存在,那么不可能判断图像111是否被旋转——在这样的情况中,可以跳过旋转角的估计, 或者可以将所估计的旋转角与低的置信度值关联起来)。还假设在图像111内这样的文本行在所获取的字符集内的位置是已知的或者可以被容易地判断。另外,文本行可以出现在图像111的一个或多个区域(未示出)。因而,可以按每区域执行在此描述的方法的一个或多个步骤。出于讨论目的,讨论了单个区域且常常是单个文本行——不过对于多个区域和/ 或文本行,可能需要附加的或不同的步骤或计算,下面进一步详细解释这样的步骤或计算。如以上所描述的,图像捕捉设备106获取原始字符集204图像111。偏斜(以及不在此讨论的其他变形)可以以各种方式被引入到所捕捉的图像111中。例如,扫描仪中的页面可能不与扫描表面完美地对准,或者手持式数码相机可能不对准在其上显示原始字符集的表面。也如以上所描述的,在图像111内的所获取的字符集204的每一字符由像素组 210 (在图2中示出)表示。通常,像素组210包括基于图像111的分辨率和/或图像捕捉设备106的其他特性的许多像素。每一像素具有在图像内的地址以及与其关联的一个或多个颜色/亮度值,例如灰度级值。然而,应理解,出于讨论的目的,颜色/亮度值可以被称为二进制反射率值,例如,“黑”或“白”。继续参考图4,接下来,在框404,对图像执行边缘检测以便产生边缘图,边缘图标识沿着在所获取的字符集内的各字符的中线和/或基线(下面进一步讨论中线和基线)的一组边缘像素。在IDS 101的上下文中,边缘检测器304接收所获取的字符集204(或其部分)并产生边缘图306,边缘图306包括边缘像素307。可以理解的是,存在用于边缘检测的许多技术,边缘检测涉及检测图像亮度的尖锐改变以便捕捉图像中表现为在另外的不变背景上的不同颜色的少量像素的行以及其他。在示例实现中,使用索贝尔(Sobel)卷积滤波来实现边缘检测器304。图5示出在由五个文本行组成的所获取的字符集的上下文中的边缘检测器304的输入(500)和输出(510)。在操作中,边缘检测器304检查表示所获取字符的各像素组,以便检测在垂直方向接近的像素的颜色(例如,灰度级值、二进制反射率值或颜色/亮度的某种其它表示)的改变。在一个示例场景,检测到从“黑”到“白”的改变或从“白”到“黑”的改变。以此方式,边缘检测器304标识边缘像素307,边缘像素307是沿着各字符所位于的假想基线504的任一侧和/或沿着各字符的假想中线502(中线表示从基线到文本行的普通小写字符的顶端)的那些像素。沿着文本行的基线和中线将存在许多像素颜色的改变, 且对于每一文本行,保留位于基线或中线中的任一个或两者的边缘像素并过滤掉位于在基线和中线之间的像素是可能的。因为方向边缘检测滤波器的输出是描述边缘亮度以及方向的带符号数,如果仅保留来自边缘图306的正(或负)值,则通过仅保持基线边缘像素或中线边缘像素来达成附加的滤波。可以从来自图5中描绘的边缘检测器306的示例输出510看出,保留了文本定向的相关细节。希望接下来可以检测对应于文本行的基线和/或中线的直线。然后,偏斜检测问题已经被简化成在图像111内检测这样的基线和/或中线的斜率(即是说,主导文本线斜率)的更方便的问题,这是因为斜率唯一地估计图像111的旋转角。再次参见图4的流程图,在框406,使用边缘图执行线检测以便以参数形式产生一组输出线。在IDS 101的上下文中,边缘图306被输入到线检测器310,以便产生一组输出线311。在一示例场景中,线检测器310实现线性霍夫变换滤波器。霍夫变换是被设计为通过一投票过程在某一类形状内查找对象的有缺陷的实例(在本案中是在边缘图306内定位一组直线)的特征提取技术。在边缘图306被输入到霍夫变换算法时,输出线组311可能包括所获取的字符集的所有基线和/或中线。图6示意性地示出由线检测器/霍夫变换实现310生成的示例输出线311的参数(r 620,θ 621)。在图像111中,直线可以被表示为参数空间中的点(r,θ)。在特定的边缘像素307周围的直线被以此方式参数化的这一方式中,其中r 620表示输出线311和原点605之间的距离,该距离由垂直于输出线311画出的法线从原点到该输出线经过的特定边缘像素307的长度来测量,且θ是法线与水平轴604形成的夹角。对于每一边缘像素 307,许多线被绘制为以不同的角度穿过它。下面结合框408-412进一步讨论线检测器310 和霍夫变换的操作。再次参考图4,如在框408处所指示,基于由线检测器310生成的输出线111形成矩阵,例如具有由索引表示的列和行的矩阵312。矩阵312也可以被称为“投票矩阵”。一般地,对于被绘制为经过特定的边缘像素307的每一线,绘制垂直于它且与原点相交的另一线,且测量并在矩阵312中记录该另一线的长度和角度。来自(r,θ)对的一个参数(在示例实现中是Θ)映射到矩阵行,同时另一参数(在示例实现中是r)映射到矩阵列。因而,在对应于(r,θ)的位置出现的矩阵元素表示与由(r,θ)界定的线重叠的边缘像素307的数量。输出线由矩阵的元素表示,且每一边缘像素向特定输出线贡献一“投票”。为每一输出线分配一个分数(下面进一步讨论分数,分数可以基于例如投票数量)。可以理解的是, 术语行和列可以互换地使用,且通常是指矩阵位置标识符。因而,在指示某一参数映射到矩阵列的场合,该参数也可以映射到矩阵行,反之亦然。如在框410处所指示,给输出线311分配分数,诸如分数313,且在框412,基于各分数标识主导输出线(及其斜率)。如以上所描述的,输出线由矩阵的元素表示,且每一边缘像素向特定输出线贡献一“投票”,且通常基于在矩阵312内的特定(r,θ )处的多个矩阵元素确定输出线分数313 (下面进一步讨论)。图7是具有行θ 704和列r 702的示例矩阵312的内容的图形表示(输入500的结果被馈送到边缘检测器304,且来自边缘检测器304的输出510已经被输入到线检测器 310),这促进了对具有主导斜率的输出线311的标识。该图形表示中的像素亮度与对应的矩阵元素的值成正比,而对应的矩阵元素的值进而与和由(r,θ)界定输出线的重叠的边缘像素的数量成正比。可以看出,矩阵312具有五个主导峰值,这与所预期的边缘检测器输入500具有五个文本行一致。每一峰值对应于一条基线504。此外,可以看出,每一峰值大致位于相同的行。这也是所预期的,因为θ映射到行,且所获取的所有文本行具有相同的斜率。可以以许多方式来实现获得对应于主导文本线斜率的行的索引740,每一方式都涉及标识输出线中具有最大分数值的行。根据一种可能的实现,可以标识具有最大元素方差的行。根据另一可能的实现,可以计算每一线中的相邻元素的差方和,且可以标识具有该最大和的行。一旦标识胜出的行(且从而标识θ ),可以通过计数该行中的局部最大值或使用任何其他所期望的技术来逼近在图像内的文本行的数量。随着以相同的斜率θ定位的文本行的数量增加,可以说θ以较大的置信度准确地估计图像的旋转角,反之亦然。在一些情况下,图像可以具有多于一个的不同的文本行斜率或一些附加的强的非文本行(例如,图等等)。在那些情况中,期望计算与不同的斜率的线相关联的线的分数的离差。离差越低,旋转角估计的置信度越高。获得离差的一种方式是所有的行分数的总和除以最大的行分数。再次参见图4的流程图,如在框416处所指示,可以计算置信度,例如置信度值 351,置信度值是所估计的旋转角的可靠性的度量。在IDS 101的上下文中,估计置信度计算器350负责提供置信度值351。获得与给定的图像的旋转角估计相关联的置信度值的一种方式是将图像出现的文本行的数量乘以行分数的逆离差。也可以考虑其他因素,例如与用特定图像区域归一化的主导输出线/ θ相关联的矩阵元素的总数,和/或用图像宽度归一化的最高得分的输出线所覆盖的图像像素的数量等等。如在框418所指示的,如果在图像111的多个区域或子区域中估计旋转角,则可以按每区域获得旋转角估计结果和所关联的置信度值。置信度值可以被用作加权因子以便得出图像的最终的旋转角估计和/或最终的置信度值。根据一个示例加权场景,可以通过每一区域的置信度值的总和乘以特定区域的所估计的旋转角,并将所得到的乘积除以每一区域的置信度值的总和来得出最终的旋转角估计。一旦已经估计旋转角且在估计中存在所期望的置信度的量(例如,置信度值高于预先确定的阀值),那么,可以将图像纠偏(旋转回所估计的旋转角)以纠正偏斜变形。存在需要或不需要图像滤波的多种旋转图像的方法,在此不详细讨论图像滤波。一种旋转的方式是使用旋转矩阵来变换每一像素的坐标;另一方式是通过一次水平剪切和一次垂直剪切来逼近旋转。如果旋转角估计中存在少于所期望的置信度的量(例如,置信度值低于预先确定的阀值),那么可以决定不对图像进行纠偏。继续参考图1-图7,图8是示例操作环境800的简化功能框图,借助于示例操作环境800可以实现或使用IDS 101的各方面。操作环境800指示各种各样的通用计算环境, 专用计算环境,基于客户机或基于服务器的计算环境、单机计算环境或联网计算环境。操作环境800可以是例如诸如工作站、服务器、客户机端电子设备之类的计算机类型,或者是现在已知的或后来开发的任何其他类型的单机或联网计算设备或其组件。例如,操作环境800 也可以是分布式计算网络或基于因特网的服务。图8中示出的一个或多个组件可以被封装在一起或分离地封装,以便以各种方式 (整体地或部分地)实现操作环境800的功能。如所示出的,总线820将数据、地址、控制信号和其他信息运载到计算环境800或其组件,或运载来自计算环境800或其组件的数据、地址、控制信号和其他信息。通信接口 870是增强操作环境800经由通信介质从另一操作环境(未示出)接收信息或向其传送信息的能力的一个或多个物理或逻辑元件。通信介质的示例包括但不限于无线信号或有线信号;计算机可读存储介质;计算机可执行指令;通信硬件或固件;以及通信协议或技术。专用硬件/固件850表示实现操作环境800的功能的任何硬件或固件。专用硬件 /固件850的示例包括编码器/解码器(“CODEC”)、解密器、专用集成电路、安全时钟等等。处理器802可以是一个或多个实际处理器的或虚拟处理器,处理器802通过执行计算机可执行指令806 (下面进一步讨论)来控制操作环境800的功能。计算机可读存储介质804表示任何数量和组合的以任何形式、现在已知的或后来开发的、能够记录或存储计算机可读数据的非瞬态的、本地的或远程的组件,计算机可读数据例如可由处理器802执行的指令806 (下面进一步讨论),且包括但不限于图像111、边缘图306、矩阵312、输出线311以及置信度值351。尤其,非瞬态计算机可读存储介质804可以是或者可以包括持久存储器或主存储器,且可以是以下形式半导体存储器(例如诸如只读存储器(“ROM”)、任何类型的可编程R0M( “PROM”)、随机存取存储器(“RAM”)或闪速存储器);磁存储设备(例如软盘驱动器、硬盘驱动器、磁鼓、磁带或磁光盘);光存储设备(例如任何类型的紧致盘或数字多用盘);磁泡存储器;高速缓冲存储器;核心存储器; 全息存储器;存储器棒;或其任何组合。计算机可执行指令806表示电控制对数据进行的预先确定的操作的任何信号处理方法或所存储的指令。一般地,根据用于基于组件的软件开发的广为人知的实践,计算机可执行指令806被实现为软件程序,且被编码在计算机可读介质(例如一种或多种类型的计算机可读存储介质804)中。软件程序可以以各种方式组合或分布。其中,使用计算机可执行指令来实现旋转角估计器302和线检测器350的各功能方面。(各)用户界面840表示界定用户(例如客户机端电子设备的用户)与操作环境800交互的方式的呈现工具和控件的组合。一种类型的用户界面是图形用户界面(“GUI”),尽管任何已知的或后来开发的类型的用户界面都是可能的。呈现工具被用来接收来自用户的输入或向用户提供输出。物理呈现工具的示例是诸如监视器设备之类的显示器。逻辑呈现工具的示例是数据组织技术 (例如,窗口、菜单或其布局)。各控件促进接收来自用户的输入。物理控制器的示例是诸如遥控器、显示器、鼠标、笔、触笔、跟踪球、键盘、话筒或扫描设备之类的输入设备。逻辑控制器的示例是用户可以经由其而发起命令的数据组织技术(例如,窗口、菜单或其布局)。 应明白,相同的物理设备或逻辑的构建可以充当到用户的输入和来自用户的输出两者的界已经描述了被用来实现IDS 101的操作环境和体系结构/技术的各种方面。然而, 应理解,不需要使用所有所描述元素,且当被使用时各元素并非必须同时地出现。被描述为计算机程序的元素不限于计算机程序的任何具体实施方式
的实现,而是转换或变换数据的过程,且可以一般地由硬件、软件、固件或其任何组合实现或在其中执行。尽管在此已经用对结构特征和/或方法论动作来说专用的语言描述了本主题,但也应理解,在权利要求中界定的本主题并不必定限于以上所描述的具体的特征或动作。相反,以上所描述的具体的特征和动作是作为实现权利要求的示例形式而公开的。还应理解,当一个元素被指示为响应于另一元素时,可以直接地或间接地耦合各元素。在取得在各元素之间的耦合或通信接口的实践中,在此叙述的连接可以是逻辑的或物理的。连同其他一起,各连接可以被实现为软件进程之间的进程间通信或在联网计算机之间的机器间通信。在此使用词“示例”来意指充当示例、实例或示出。在此描述为“示例”的任何实现或其方面并不必定被构建为比其他实现或其方面优选或有益。应理解,可以在不偏离所附权利要求的精神和范围的前提下涉及与以上所描述的具体的实施方式不同的各实施方式,在此预期本主题的范围将受下列权利要求支配。
权利要求
1.一种用计算机可执行指令(806)编码的计算机可读存储介质(804)当所述计算机可执行指令被处理器(80 执行时,执行一种用于识别以原始线性定向(10 被显示在表面 (102)上的原始字符集(104)的字符的方法G00),所述方法包括在所述原始字符集的图像(111)内,标识G02)由所述图像的像素(210)表示的所获取的字符集004),所获取的字符集具有相对于所述原始线性定向偏斜一旋转角(222)的所获取的线性定向(205);将边缘检测滤波器(304)应用(404)到所获取的字符集以便产生边缘图(306),所述边缘图标识包括所述图像的沿着与所获取的字符集相关联的多条线的像素在内的边缘像素 (307);将所述边缘图输入G06)到线性霍夫变换滤波器(310)以便以(r,θ)参数形式产生一组输出线(311),其中对于每一输出线,r是垂直于所述输出线而画出的法线在原点和所述输出线所经过的特定边缘像素之间的长度,且θ是所述法线与水平轴形成的夹角;形成(408)具有行和列的矩阵(312),特定输出线(r,θ )所经过的所述边缘像素中的每一个由所述矩阵的位于所述特定输出线的对应于θ的特定行和所述特定输出线的对应于r的特定列的元素来表示;给每一输出线分配分数(313),所述分数基于在所述特定输出线的所述对应于θ的特定行内的边缘像素的离差;基于所述分数,在所述一组输出线内,标识(412)至少两个主导输出线(rd。ml,θ doml)和(rdom2 ‘ 9 dom2);计算(416)对应于θ d。ml估计所述旋转角的似然的第一置信度值(351) 计算(416)对应于θ d。m2估计所述旋转角的似然的第二置信度值(351);以及基于所述第一置信度值和第二置信度值,判断是ed。ml还是ed。m2估计所述旋转角。
2.如权利要求1所述的计算机可读存储介质(804),其特征在于,其中计算所述第一置信度值包括通过将所有分数的总和除以对应于9d。ml的特定行的分数来确定分数的第一离差,其中计算所述第二置信度值包括通过将所有分数的所述总和除以对应于θ d。m2的所述特定行的分数来确定分数的第二离差,其中在分数的所述第一离差时低于分数的所述第二离差时,认为θ d。ml可能估计所述旋转角,以及其中在分数的所述第二离差低于分数的所述第一离差时,认为θ d。m2可能估计所述旋角。
3.如权利要求1所述的计算机可读存储介质(804),进一步包括在判断是ed。ml还是Θ d。m2估计所述旋转角之后,基于所述第一置信度值或所述第二置信度值中的任一个或两者,判断是否通过将所述图像旋转回所估计的旋转角来对所获取的字符集进行纠偏,在所述第一置信度值或所述第二置信度值中的任一个或两者高于所预先确定的阀值时,对所获取的字符集进行纠偏,且在所述第一置信度值或所述第二置信度值中的任一个或两者低于所预先确定的阀值时,不对所获取的字符集进行纠偏。
4.一种用于识别以原始线性定向(105)被显示在表面(102)上的原始字符集(104)的字符的系统(800) ,所述系统包括 计算机可读存储介质(804);以及响应于所述计算机可读存储介质以及被存储在所述计算机可读存储介质中的一个或多个计算机程序(806)的处理器(802),所述一个或多个计算机程序在被加载到所述处理器并被执行时,可操作为执行一种方法,方法包括标识由图像捕捉设备(106)获取的所述原始字符集的图像(111),所述图像具有对应于所述原始字符集的所获取的字符集004),所获取的字符集的每一字符由所述图像中的一组像素(210)表示,所述组的每一像素(21 具有灰度级值012),所获取的字符集具有相对于所述原始线性定向以能够由旋转角(222)来表示的量偏斜的所获取的线性定向 (205)在所述图像内,标识所获取的字符集的部分;将边缘检测滤波器(304)应用到所获取的字符集的所述部分以便产生边缘图(306), 所述边缘图基于来自表示所述部分内的字符的各像素组的各像素的所述灰度级值来标识包括沿着在所述部分内的所述字符的中线(50 或基线(504)的像素的一组边缘像素 (307),将所述边缘图输入到线性霍夫变换滤波器(310),所述线性霍夫变换滤波器被配置为以(r,θ)参数形式产生一组输出线(311),其中对于每一输出线,r是垂直于所述输出线画出的法线在原点和所述输出线所经过的特定的边缘像素之间的长度,且θ是所述法线与水平轴形成的夹角,形成具有由行索引标识的多个行和由列索引标识的多个列的矩阵(312),特定输出线 (r,θ)所经过的所述边缘像素中的每一个由所述矩阵的位于所述特定输出线的对应于θ 的特定行索引和所述特定输出线的对应于r的特定的列索引的元素表示,基于所述矩阵内所述元素的分布,将分数(313)分配给所述输出线中的至少一些, 基于所分配的分数,标识主导输出线;标识所述矩阵的与所述主导输出线相关联的所述行索引(740), 基于所标识的行索引,标识所述主导输出线的所述角θ,以及基于所标识的角θ来估计所述旋转角, 所述原始字符集能够至少部分地基于所估计的旋转角来解码。
5.如权利要求4所述的系统(800),其特征在于,所述处理器与从包括网络端操作环境和客户机端操作环境的组中选择的操作环境相关联。
6.如权利要求4所述的系统(800),其特征在于,所述方法进一步包括以使得能够识别所述原始字符集的字符的方式以基于所估计旋转角的量来对所获取的字符集进行纠偏。
7.如权利要求4所述的系统(800),其特征在于,所述方法进一步包括 计算置信度值,所述置信度值是所估计的旋转角的可靠性的表示,以及基于所述置信度值,决定是否对所获取的字符集进行纠偏。
8.如权利要求7所述的系统(800),其特征在于,所述原始字符集和所获取的字符集包括许多文本行,所述多个文本行对应于共享相同的行索引的多个主导输出线,其中通过对相同的行索引中的局部元素最大值进行计数来逼近所述文本行的数量,且其中,通过对于相同的行索引中的所述多个文本行中的每一个标识列索引和对应的法线r来判断所述多个文本行的位置。
9.如权利要求8所述的系统(800),其特征在于,决定是否对所获取的字符集进行纠偏包括基于所述文本行的数量乘以所述输出线中的至少一些的分数的逆离差来计算所述置信度值;以及基于所估计的旋转角和所述置信度值两者来决定是否进行纠偏。
10.如权利要求4所述的系统(800),其特征在于,所述边缘检测滤波器包括索贝尔卷积核滤波器。
全文摘要
将图像纠偏系统和技术用于光学字符识别的上下文中。获取以原始线性(水平)定向的原始字符集的图像。相对于该原始线性定向偏斜一旋转角的所获取的字符集由该图像的像素表示。估计该旋转角,且可以将置信度值与该估计关联起来,以便判断是否纠偏该图像。结合旋转角估计,将边缘检测滤波器应用于所获取的字符集以便产生边缘图,将该边缘图输入到线性霍夫变换滤波器以便以参数形式产生一组输出线。给各输出线分配分数,且基于各分数将具有接近旋转角的斜率的至少一个输出线判断为主导线。
文档编号G06K9/00GK102279926SQ201110165719
公开日2011年12月14日 申请日期2011年6月9日 优先权日2010年6月9日
发明者D·尼耶姆切维奇, S·加利克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1