专利名称:照相文档成像系统的利记博彩app
技术领域:
用于处理捕获的图像的设备和方法,具体来说,用于处理包括文档的捕获的图像。
背景技术:
图1-A是描述扫描仪的典型组件的方框图。扫描仪通常用于捕获文档110的图像。将文档110放置于扫描仪板112上。一般包括光学子系统122和电荷耦合器件(“CCD”)124的扫描头120在文档110上移动。虽然图1A只描述了二维视图,但是,扫描头120可以在文档的由箭头114所显示的方向上和在垂直于文档110的方向上移动。光学子系统122将从文档110反射的光聚焦到CCD124上。CCD 124常常是作为光敏电容元件的二维阵列来实现的。当光入射到CCD 124的光敏元件上时,在半导体元件的耗尽区捕获电荷。与光敏电容元件关联的电荷量与在一个采样周期内接收到的入射到相应的元件上的光的强度相关。相应地,通过对元件进行采样,通过判断相应的光敏电容元件上的入射光的强度,捕获图像。由光敏电容元件产生的模拟信息被模拟-数字(A/D)转换器130转换为数字信息。A/D转换器130可以以串行或并行两种方式转换从CCD 124接收到的模拟信息。转换过来的数字信息可以存储在存储器140中。然后,由处理器150根据存储在ROM 180中的控制软件对数字信息进行处理。用户可以通过用户界面170控制扫描参数,通过输出端口160输出通过扫描获得的图像。
图1B中描述了数码相机的方框图。数码相机的光学子系统122可以用来将从文档110反射的光聚焦到CCD 124上,就如在扫描仪中那样。在其他数码相机中,使用CCD之外的器件(如CMOS传感器)来捕获从图像反射的光。在数码相机的情况下,与扫描仪相反,光学子系统122不如在扫描仪中那样沿着文档的表面移动。相反,在数码相机中,光学系统122一般相对于要获取其图像的对象(如文档)是固定的。除了数码相机之外,从使用胶卷的照像机捕获的照片也可以被数字化。
用于捕获文档图像及其他图像时照像机比扫描仪具有显著的优点。例如,照像机一般比扫描仪更便于携带。此外,由于扫描仪要求捕获的图像应放置在扫描仪板上,因而照像机能够比扫描仪捕获范围更广的图像。然而,使用照像机在进行图像捕获时遇到了使用扫描仪时不存在的困难。例如,当使用照像机时光条件是会改变的,而在扫描仪中光条件一般是受控制的。此外,使用照像机会产生图像失真,可能取决于各种可变因素,如照像机相对于图像的角度,由照像机使用的透镜以及其与图像的距离,包括文档的图像是位于平面还是曲面上,及其他因素。由于扫描仪利用移动的扫描头,该扫描头与待成像的文档有固定距离,在扫描仪中一般不会产生这些失真。
因此,需要利用照像机的优于扫描仪的优点的用于捕获文档的图像,但是减少通过照像机捕获文档图像时带来的而扫描仪不存在的困难的设备和方法。
发明内容
描述了用于对包括成像的文档的捕获的图像进行处理的设备和方法。在一个实施例中,设备包括固定式照相机,该固定式照相机被用来捕获成像的文档。在另一个实施例中,利用非固定照相机来捕获成像的文档。在再一个实施例中,用于对包括文档的捕获的图像进行处理的方法包括区别成像的文档与其背景,调整捕获的图像以减少由于使用照像机产生的失真,并正确地对文档进行定向。
图1A描述了采用现有技术的文档扫描仪。
图1B描述了采用现有技术的数码相机。
图2描述了用于对捕获的图像进行处理的方法的总流程图。
图3描述了用于对捕获的图像进行处理的方法的另一个实施例的流程图。
图4描述了根据这里说明的对文档进行成像的方法的其中一个实施方式执行分段的方法的流程图。
图5描述了执行图4中所显示的随机样本一致性步骤的一个方法的流程图。
图6描述了执行图4中所显示的外露层消除步骤的一个方法的流程图。
图7描述了根据这里说明的对文档进行成像的方法执行分段的另一个方法的流程图。
图8描述了执行图2和图3中所显示的失真消除步骤的一个方法的流程图。
图9描述了执行图3中所显示的“文本行”步骤的一个方法的流程图。
图10描述了根据这里说明的对文档进行成像的方法的一个实施方式判断文档是否被正确定向成直立的一个方法的流程图。
图11描述了用于捕获和处理包括成像的文档的图像的设备的一个实施例。
图12描述了根据这里说明的对文档进行成像的方法的一个实施方式判断文档是否直立的一个方法的流程图。
图13描述了用于对捕获的图像进行处理的系统的一个实施例。
具体实施例方式
这里所描述的实施例旨在处理包括文档的从照像机捕获的图像。这里所描述的实施例旨在从其背景中识别捕获的文档图像。在捕获的文档图像与其背景隔离之后,这里所描述的实施例旨在减少或去除捕获的文档图像的失真。在校正捕获的文档图像之后,这里所描述的实施例旨在将捕获的文档图像旋转到其正确的方向。另外,这里所描述的实施例给用户提供实现其各个实施例中的每一个步骤的成功的评估。
图2描述了用于对捕获的图像进行处理的方法的总流程图。在开始210之后,接收图像220。可以从各种来源接收图像。例如,在一个实施例中,可以从数码相机接收图像。在另一个实施例中,可以从包括数码相机的固定单元接收图像。在再一个实施例中,可以从已经被数字化的胶卷照片接收图像。接收到的图像220包括文档图像。步骤230用于识别捕获的文档图像与图像的其余部分,或背景。步骤230被称为分段。此步骤230可以用于检测捕获的图像文档的边缘。此步骤230还可以用于从捕获的文档图像中裁剪图像的背景,以便文档与其背景分开。被称为失真消除的步骤240,用于减少或去除捕获的文档图像的失真。此步骤240可以校正的某些失真是透视失真、透镜失真和光失真。在此步骤240中也可以校正其他失真。步骤250用于校正文档的方向。此步骤250可以用于判断捕获的文档图像应该是纵向还是横向,并相应地旋转捕获的文档图像。此步骤250还可以用于判断捕获的文档图像是否倒置,并相应地旋转捕获的文档图像。在步骤260中,输出处理过的文档图像。可以通过各种手段输出260处理过的文档图像,如,将处理过的文档图像的图像显示在监视器上,将处理过的文档图像保存到计算机文件中,以电子方式传输文档图像,或打印处理过的文档图像。
图3描述了用于对捕获的图像进行处理的方法的另一个实施例的流程图300。在开始205之后,接收图像310。在步骤315中,接收到的图像被转换为与设备无关的位图。在步骤320中,利用基于边缘的分段过程,执行分段。基于边缘的分段320过程识别捕获的图像文档的边缘,以区别捕获的文档图像与其背景。
图4描述了基于边缘的分段320的一个实施例的流程图。在此实施例中,定位水平和垂直边缘点。这是通过搜索边缘点来完成的。通过识别接收到的图像的包含从接收到的图像的背景部分到接收到的图像的文档部分的过渡的部分,来确定边缘点。在一个实施例中,从接收到的图像的中心开始扫描接收到的图像410,还从接收到的图像的边界开始扫描接收到的图像420。在一个实施例中,假设文档图像占据接收到的图像的中心。在另一个实施例中,假设捕获的文档图像的非文本部分的像素浓度大于其背景的像素浓度。在从接收到的图像的中心开始的扫描410中,在发现可以被标识为文档像素的区域之后,与扫描一起搜索到背景像素的过渡。在从接收到的图像的边界开始的扫描420中,一个区域被标识为背景像素,并识别到文档图像像素的过渡。可以利用这两种扫描410、420中的任何一种或者两种来执行该过程。在一个实施例中,在水平和垂直方向两种方向扫描410、420接收到的图像。
然后,执行随机样本一致性步骤430。图5描述了随机样本一致性步骤的一个实施例。在此实施例中,通过从在步骤410和420中选择的边缘点中按步骤510随机选择两个点,执行随机样本一致性430。然后,按步骤520计算连接这两个随机选择的点的线条。在一个实施例中,使用角度-距离坐标,其中,角度值对应于围绕接收到的图像的中心的线段的角度,距离值对应于从接收到的图像的中心到线段中的最近的点的距离。在其他实施例中,可以使用其他坐标系统,包括,笛卡儿坐标或极坐标。然后存储这些值。重复从410和420中获取的边缘点选择两个随机点的过程,以获取足够的样本组530。在一个实施例中,将此过程重复五千次,尽管可以使用不同的样本大小。在采样之后,将所有位于同一个线条上的点对编组到仓(bin)中。如果在410和420中选择的初始边缘点准确地代表了接收到的图像中的文档的边缘,大致四分之一的点将分布到对应于四个文档边缘的四个小的区域,而剩余的点将均匀地分布在可能的坐标的其余部分。具有大多数分组的线段540的并符合分组的线段的最小阈值的四组分组的线段被标识为代表接收到的图像550中的文档的四个边缘。在一个实施例中,然后,根据它们在接收到的图像中的相对位置,判断这些线段的集合为左边缘、右边缘、顶边缘和底边缘。
在一个实施例中,在执行随机样本一致性步骤430之后,在边缘点的集合之间执行外露层消除步骤440,以进一步细化文档边缘的标识。在图6中所描述的一个实施例中,这是通过在对应于接收到的文档图像的一个边缘的边缘点的集合之间执行线性回归来进行的。在线性回归技术中,绘制一条直线,以尝试最准确地连接边缘点的集合610。如果判断与此线性回归线最远的点与线性回归线620有充分远的距离,则删除该点步骤630,并进行新的线性回归。重复此过程,直到与线性回归线的距离最远的点在阈值内,并将所产生的线性回归线确定为边缘线。这是在代表接收到的图像文档的四个边缘的四个边缘点的集合中的每一个集合中均执行的。
请回头参看图3,在步骤325中,确定识别边缘线与基于边缘的分段320的准确性的计算。此步骤325可以称为置信度的计算。在一个实施例中,针对接收到的文档图像的每一个边缘计算其置信度,最低的值被确定为总的置信度。在另一个实施例中,边缘线之间的最高置信度值被确定为总的置信度。在再一个实施例中,使用边缘线的置信度的组合,例如,线边缘的置信度的平均值,来确定总的置信度。计算特定线边缘的置信度的一个实施例是计算外露层消除440之后的仍保留在该边缘的集合中的像素点的数量和已经在该边缘中发现的像素点的总数之间的比率。置信度的确定可以用来改善接收到的文档图像的失真消除240、350效果,还可以被用来将系统对于特定接收到的图像的执行的准确性通知给用户。在步骤330中,如果基于边缘的分段步骤320中的置信度不十分高,那么,执行步骤335的基于内容的分段。
基于内容的分段步骤335(图7中描述了其一个实施例),识别捕获的图像文档的文本,并计算捕获的图像文档相对于文本的边缘。这是通过识别接收的文档图像710中的连接的组件并发现这些组件720的最近邻来实现的。连接的组件一般是指彼此相邻的那些黑色或暗的像素。然后,将这些相邻像素连接为线730,然后使用线730来确定文本的边界740。从这些边界添加750边距,以便识别接收到的文档图像的边缘的位置。虽然边距的大小可以变化,但是,在一个实施例中,在步骤750中添加了标准边距。
在步骤340中,计算捕获的文档图像的拐角。在一个实施例中,根据边缘线的交叉点计算拐角。
失真消除240、350步骤可能涉及对接收到的图像的各种调整。在一个实施例中,失真消除240、350将调整接收到的文档图像,以对以接收到的图像中的透视失真进行校正。例如,在图片不是在文档的正上方的角度并居中拍摄的情况下,在接收到的文档图像中将会有透视失真。
图8中描述了用于调整图像以校正透视失真的一个实施例。此实施例涉及将一组图像坐标810,例如,(x,y),映射到一组新的图像坐标,例如,(u,v)。在分段步骤230、320、335之后,确定按步骤340的文档的四个拐角。通常,在包含透视失真的文档中,这四个拐角将对应于梯形,而文档一般应该具有矩形的形状。如此,在一个实施例中,在接收到的梯形与所需要的矩形之间执行映射810。进行此映射810的一个实施例是利用非失真像素坐标和失真的像素坐标之间的齐次变换,利用代表从失真的像素坐标到非失真的像素坐标的变换的齐次矩阵。可以通过比较在分段230、320、335过程中确定的四个拐角与接收到的非失真的文档图像的经过校正的尺寸,来计算变换。在一个实施例中,通过简单地计算每一行的变换,并利用线性内插来计算新的像素坐标,可以不必计算每一个像素点处的变换。在映射对应于具有减薄的透视失真的文档的新坐标之后,对像素进行重新采样815。
在失真消除240,350步骤中可以调整的接收到的图像的另一个方面是对由照相机镜头820所引起的失真进行调整。由照相机镜头所引起的失真可能会使直线弯曲。此失真取决于所使用的特定透镜和照像机与捕获的图像的距离。由透镜失真产生的弯曲一般是放射状的,因此,可以使用近似于透镜失真度的参数,对透镜失真进行均匀的径向调整。可以由系统来计算此参数,也可以由用户输入。
在失真消除240,350步骤中可以调整的接收到的图像的再一个方面是对由文档不完全平坦所引起的失真进行调整。例如,如果成像的文档是一本书中的一个页面,则当以照相方式捕获时,该页面可能具有会产生失真的弯曲。同时可以在失真消除步骤240、350中校正此失真。也可以校正其他失真,这里对特定类型的失真的描述并不限制可以减薄或去除的失真的类型。
在步骤365中,对在步骤360中产生的图像执行定阈值的过程。定阈值的过程365会降低图像的颜色深度,具有减少当对图像进行拍摄时可能使用的闪光灯产生的失真的潜在优点。在一个实施例中,定阈值过程365将二十四比特彩色图像减薄到一个比特黑白图像。将图像减薄到黑色和白色的潜在优点是,减小了由照像机的闪光灯产生的影响,减小了系统300进行处理所需的信息量。可以以许多方式执行定阈值365的过程。一个实施例可以利用当前已知的高频振动技术。可以在现有的图像软件中发现采用高频振动技术的示例,如由LASERFICHE推出的SNOWBOUND IMAGE LIBRARY中。然而,使用高频振动技术的一个缺点是,在图像中产生了噪声。定阈值365过程的另一个实施例涉及为一个图像选择全局阈值。在这样的技术中,选择一个阈值。具有大于阈值的浓度的那些像素被视为是白色,而其余的像素被认为是黑色。可以以许多方式来选择阈值。在一个实施例中,选择一个阈值,并将其应用于所有接收到的图像。此技术的缺点是不考虑接收到的图像中的光条件的变化。在另一个实施例中,根据对接收到的图像的分析(如其直方图)来计算阈值。在一个这样的涉及对接收到的图像的分析的实施例中,假设接收到的图像在对应于接收到的文档图像的前景和背景的其浓度直方图中包含两个峰值。此实施例用于那些没有进行此假设的图像可能不很理想。定阈值365的过程的另一个实施例是为接收到的图像中的每一个像素选择一个单独的阈值。此实施例的优点是,响应文档内的变化的条件,如照明的变化或背景对比度。此技术的一个实施例是自适应定阈值。在此实施例中,在对每一个新像素进行分析以便确定阈值时,考虑了以前的像素值。做到这一点的一种方式是通过在对接收到的图像的每一个渐进的像素进行分析时计算每一个像素的加权平均值。此实施例的一个潜在缺点是,如果接收到的图像包括彩色的文档,则会产生噪声。
在步骤370中,执行“文本行”步骤。在此步骤370中,系统确定接收到的文档图像中的文本的行。图9描述了“文本行”370的一个实施例。在一个实施例中,系统假设对应于接收到的文档图像中的文本的像素的浓度比接收到的文档图像的背景像素的浓度低。在此实施例中,计算接收到的文档图像的每一行内的所有像素的浓度的总和,即910。然后使用这些总和来识别像素浓度中的本地峰值和谷值920。然后,对这些峰值和谷值进行分析,以确定文档中的文本的行。例如,如果接收到的文档图像具有黑色的文本行,背景为白色,则完全为白色的像素的行将具有最高总浓度,包含黑色文本的行基本上将具有较低的像素浓度。然后,可以计算浓度的这些差别,从而可以确定文本的行。在优选实施例中,对接收到的文档图像水平地和垂直地执行“文本的行”370。
执行“文本的行”370的另一个实施例是,如在步骤335中执行的搜索那样,对文本的行进行类似的搜索。在一个这样的实施例中,识别捕获的文档图像的文本,并形成行。这可以通过识别捕获的文档图像中的连接的组件并发现这些组件的最近邻来实现。连接的组件一般是指彼此相邻的那些黑色或较暗的像素。然后,将这些相邻像素连接为行。此过程类似于图7的步骤710、720和730中所描述的过程。
步骤375判断捕获的文档图像应该是横向还是纵向格式。在一个实施例中,这是通过比较垂直方向的文本行370的结果与水平方向的文本行370的结果来实现的。在一个实施例中,具有更多的行数的方向被确定为定义接收到的文档图像的方向。例如,在其高度大于其宽度的接收到的文档图像中,如果垂直方向上的文本行370比水平方向上的文本行370产生更多的行数,那么,接收到的图像文档被确定为具有横向方向。作为另一个示例,如果在同一个接收到的图像文档中,水平方向上的文本行370比垂直方向上的文本行370产生更多的行数,那么,接收到的图像文档被确定为具有纵向方向。
步骤380确定文档的直立方向。在此步骤385中,判断文档是直立还是倒置。图10描述了判断接收到的文档图像是否被正确定向成直立380的一个实施例。在一个实施例中,分析每一个文本行。可以分析较少的文本行数,但是,这可能会产生可靠性稍差的结果。在一个实施例中,每一个文本行都被分成三个部分1010上行部分,中间部分和下行部分。英语语言字符包含某些固有的统计特征,可以在某些实施例中用来判断接收到的文档图像的直立方向。例如,英语语言字母表只具有五个字符下行到低于句子的底边界(即,g,j,p和y),而具有很多的字符上行到高于句子的顶部边界(例如,b,d,f,h,i,j,k,I)。在一个实施例中,当计算上行部分和下行部分1020中包含的相应的像素数量并比较那些像素密度1030,1040时,可以考虑英语语言字符的此特征。例如,如果具有英语语言字符的接收到的文档图像的上行字符像素比下行字符像素更多,则很可能处于直立状态,不需要旋转,而如果同一个文档的下行字符像素比上行字符像素多,则该文档可能需要旋转180度1050。
在其他实施例中,还可以考虑英语语言字符的其他特征。例如,可以考虑水平方向上的像素位置的特征。此外,还可以使用非统计方法来判断文档的直立方向,如光学字符识别(“OCR”)。另一个实施例可以利用神经网络方法。此外,对于非英语文档,可以利用类似的固有特征。例如,西班牙语语言字符类似于英语中的字符,将具有类似的固有特征。作为另一个示例,阿拉伯语语言字符包含更多的下行字符,相应地,实施例可以针对这些特征进行调整。
图12描述了判断接收到的文档图像是否被正确定向为直立380的另一个实施例。在一个实施例中,使用连接的组件来判断文本的每一个字母行。按照高度,将每一个组件分类为两个类别,小的和大的,即1210。确定文本行的中心即1220。在一个实施例中,使用小字母的高度来确定文本行的中心1220。这样可以改善文本行的中心的估计如果失真的话,如,如果跨页面扭曲。然后,将大字母与文本行的中心进行匹配,并基于与此中心1230的相对位置,分组为上行或下行。计算上行和下行字母的总数。在典型的英语语言文档中,大字符将朝页面的顶部方向上行。因此,在一个实施例中,如果上行大字符的数量大于下行的字符的数量,那么,在输出之前,文档不需要旋转即1250。然而,如果下行的大字符的数量大于上行的较大字符的数量,那么,在输出之前,旋转文档即1260。
然后,根据步骤380和375的判断,在步骤385中旋转图像。然后,输出新文档图像即390。
如上文所讨论的,可以用胶卷照相机或者数码相机捕获系统成像的文档。作为这些任意的设备的替代,可以使用固定式照相机系统来捕获成像的文档。图11描述了用于捕获文档图像的固定式照相机系统的实施例。在此实施例中,将文档1110放置于系统的基座1120中。在优选实施例中,系统的基座1120是预先确定的颜色,上文所讨论的,这可能具有有助于分段处理的优点。支架1130从基座1120延伸,该支架可以安装照像机1140和闪光灯1150。照像机和闪光灯可以永久地安装在支架1130中,也可以是可移动的或可调整的。闪光灯可以放置在基座1120或支架1130上的任何地方。在另一个实施例中,在基座1120或支架1130上没有其他闪光灯。在再一个实施例中,闪光灯与基座1120或支架1130分开。然后,固定系统连接到计算机1160,以执行对接收到的图像文档的上文所描述的处理。在另一个实施例中,计算机也可以嵌入到设备中。在再一个实施例中,捕获的图像文档可以简单地存储在数码相机1140中,或存储在另一个存储器源中,以后连接到计算机供进行处理。这样的固定式照相机系统也可以作为用户的工作站的一部分放置在办公室。
与任意的照像机相对比,利用固定式照相机系统有多个优点。例如,在利用固定式照相机系统时,可以减少透视失真量,因为相对于照相机镜头,文档很可能是垂直的,并居中。此外,另一个优点可以是允许系统更好地对于透镜失真进行调整,因为照像机和所使用的透镜之间的距离是已知的,从而不必计算或估计这些参数。另一个潜在的优点将是减少由照像机闪光灯产生的失真。在优选实施例中,将定位固定系统的闪光灯1150,以便减少眩光及由照像机闪光灯产生的其他失真。
这里所描述的用于处理捕获的图像的方法适用于任何处理应用程序类型,(但不仅限于)特别适用于用于处理捕获的图像的基于计算机的应用程序。这里所描述的方法可以以硬件电路,以计算机软件,或以硬件电路和计算机软件的组合来实现,并不仅限于特定硬件或软件实现方式。
图13是显示了在其上可以实现本发明的实施例的计算机系统1300的方框图。计算机系统1300包括用于传递信息的总线1345或其他通信机制,以及用于处理信息的与总线1345连接的处理器1335。计算机系统1300还包括连接到总线1345的主存储器1320,如随机存取存储器(RAM)或其他动态存储设备,用于存储信息和待由处理器1335执行的指令。主存储器1320还可以用于在待由处理器1335执行的指令的执行过程中存储临时变量或其他中间信息。计算机系统1300进一步包括连接到总线1345的只读存储器(ROM)1325或其他静态存储设备,用于为处理器1335存储静态信息和指令。提供了存储设备1330,如磁盘或光盘,并连接到总线1345,用于存储信息和指令。
计算机系统1300可以通过总线1345连接到显示器1305,如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字及其他键的输入设备1310,连接到总线1345,以便向处理器1335传递信息和命令选择。另一种用户输入设备是光标控制装置1315,如鼠标、轨迹球或光标方向键,用于向处理器1335传递方向信息和命令选择,并用于控制显示器1305上的光标移动。此输入设备通常在两个轴[第一个轴(例如x)和第二个轴(例如y)]中具有两个自由度,允许设备指定平面中的位置。
这里所描述的方法涉及使用计算机系统1300来处理捕获的图像。根据一个实施例,响应处理器1335执行主存储器1320中包含的一个或多个指令的一个或多个序列,由计算机系统1300对捕获的图像进行处理。可以从另一个计算机可读介质(如存储设备1330)将这样的指令读取到主存储器1320中。执行主存储器1320中包含的指令序列会使处理器1335执行这里所描述的处理步骤。还可以使用多处理装置中的一个或多个处理器来执行主存储器1320中包含的指令序列。在备选实施例中,可以使用硬线连接的电路来代替软件指令或与软件指令相结合,来实现这里所描述的实施例。如此,这里所描述的实施例不仅限于硬件电路和软件的任何特定的组合。
这里所使用的术语“计算机可读介质”是指参与向处理器1335提供指令以供其执行的任何介质。这样的介质可以呈现许多形式,包括但不仅限于,非易失性介质、易失性介质,以及传输介质。非易失性介质包括,光盘或磁盘,如存储设备1330。易失性介质包括动态存储器,如主存储器1320。传输介质包括同轴电缆、铜线和光纤,包括构成总线1345的线路。传输介质还可以呈现声波或光波的形式,如在无线电波和红外数据通信的过程中生成的那些。
计算机可读介质的常见形式包括,软盘、硬盘、磁带,或任何其他磁性介质,CD-ROM,任何其他光学介质,穿孔卡片、纸带,具有孔的图案的任何其他物理介质,RAM、PROM,以及EPROM,FLASH-EPROM,任何其他存储器芯片或盒,如下面所描述的载波,或计算机可以从其中读取的任何其他介质。
计算机可读介质的各种形式可以涉及向处理器1335传送一个或多个指令的一个或多个序列以供其执行。例如,指令最初可以位于远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统1300本地的调制解调器可以通过电话线接收数据,并使用红外发射器将数据转换为红外信号。连接到总线1345的红外检测器可以接收红外信号中携带的数据,并将数据放到总线1345中。总线1345向主存储器1320传送数据,处理器1335从主存储器1320中检索指令并执行这些指令。在由处理器1335执行之前或之后,由主存储器1320接收到的指令可以可选地存储在存储设备1330中。
计算机系统1300还包括连接到总线1345的通信接口1340。通信接口1340提供了连接到网络链路1375的双向数据通信,而网络链路1375又连接到局域网1355。例如,通信接口1340可以是用于为对应的电话线路类型的提供数据通信的综合业务数字网(ISDN)卡或调制解调器。作为另一个示例,通信接口1340可以是为兼容的LAN的提供数据通信的局域网(LAN)卡。还可以实现无线链路。在任何这样的实现方式中,通信接口1340发送和接收携带了代表各种信息的数字数据流的电的、电磁的或光的信号。
网络链路1375通常通过一个或多个网络为其他数据服务的提供数据通信。例如,网络链路1375可以通过局域网1355为主机计算机1350或到由因特网服务提供商(ISP)1365运营的数据设备的提供连接。ISP 1365又通过世界范围的通常被称为“因特网”1360的数据包数据通信网络,提供数据通信业务。局域网1355和因特网1360两者都使用携带了数字数据流的电的、电磁的或光的信号。向计算机系统1300以及从计算机系统1300传送数字数据的经过各种网络的信号以及网络链路1375上的信号,经过通信接口1340的信号,是输送信息的载波的示例形式。
计算机系统1300可以通过网络、网络链路1375和通信接口1340,发送消息和接收数据,包括程序代码。在因特网的情况下,服务器1370可以通过因特网1360,ISP 1365,局域网1355和通信接口1340为应用程序传输被请求的代码。根据本发明,一个这样的已下载的应用程序用于处理如这里所描述的捕获的图像。
接收到的代码可以在接收时由处理器1335执行,和/或存储在存储设备1330中,或其他非易失性存储器中,供以后执行。如此,计算机系统1300可以以载波的形式获取应用程序代码。
权利要求
1.一种用于处理捕获的图像的方法,所述捕获的图像包括成像的文档,所述方法包括检测所述捕获的图像中的与所述成像的文档的边缘相关的图形信息;基于与所述成像的文档的边缘相关的图形信息,将所述成像的文档与所述捕获的图像的背景隔离;计算所述成像的文档与所述成像的文档的非失真的透视图的偏离;基于所述计算出的偏离,对所述成像的文档的像素进行重新采样;检测所述捕获的图像中的与所述成像的文档的方向相关的图形信息;基于与所述成像的文档的方向相关的图形信息,旋转所述成像的文档。
2.一种用于处理包括成像的文档的捕获的图像的方法,所述方法包括检测捕获的图像中与所述成像的文档和所述捕获的图像的其余部分之间的过渡相关的图形信息;从对应于所述成像的文档的边缘的所述图形信息中选择一行或多行;基于对应于所述成像的文档的边缘的一行或多行,将所述成像的文档与所述捕获的图像的背景隔离。
3.一种用于处理包括成像的文档的捕获的图像的方法,所述方法包括检测捕获的图像中与所述成像的文档和所述捕获的图像的其余部分之间的过渡相关的图形信息;从对应于所述成像的文档的边缘的所述图形信息中选择一行或多行;基于对应于所述成像的文档的边缘的一行或多行的交叉点,计算所述成像的文档的拐角;基于对应于所述成像的文档的边缘的一行或多行,将所述成像的文档与所述捕获的图像的背景隔离;计算成像的文档的所述拐角的坐标和所述成像的文档的非失真的透视图的拐角的坐标之间的偏离;基于所述计算出的偏离,将所述成像的文档的像素的坐标映射到与所述成像的文档的非失真的透视图相对应的坐标。
4.根据权利要求3所述的方法,进一步包括下列步骤将所述非失真的成像的文档转换为所述成像的文档的双色表示;计算所述双色表示的沿着所述非失真的成像的文档的垂直轴的像素浓度;计算所述双色表示的沿着所述非失真的成像的文档的水平轴的像素浓度;识别像素浓度中的沿着所述非失真的成像的文档的垂直和水平轴的对比度;基于像素浓度中的所述对比度,识别所述成像的文档的文本行;基于所述非失真的成像的文档的所述文本行相对于成像的文档的所述边缘的尺寸的方向,确定所述非失真的成像的文档的格式;根据所述非失真的成像的文档的格式的所述确定结果,旋转所述非失真的成像的文档。
5.根据权利要求3所述的方法,进一步包括下列步骤将所述非失真的成像的文档转换为所述成像的文档的双色表示;计算所述双色表示的沿着所述非失真的成像的文档的垂直轴的像素浓度;计算所述双色表示的沿着所述非失真的成像的文档的水平轴的像素浓度;识别像素浓度中的沿着所述非失真的成像的文档的垂直和水平轴的对比度;基于像素浓度中的所述对比度,识别所述成像的文档的文本行;基于所述非失真的成像的文档的所述文本行相对于成像的文档的所述边缘的尺寸的方向,确定所述非失真的成像的文档的格式;根据所述非失真的成像的文档的格式的所述确定结果,旋转所述非失真的成像的文档;沿着文本行的所述行的纵向轴,将所述文本行分为三个部分;基于所述文本行的所述部分的像素浓度的比较,确定所述文本行的方向;基于方向的所述确定结果,旋转所述非失真的成像的文档。
6.一种用于处理捕获的图像的系统,所述捕获的图像包括成像的文档,所述系统包括用于检测所述成像的文档的边缘的装置;用于减少所述成像的文档的失真的装置;用于将所述捕获的图像旋转到正确的方向的装置。
7.一种用于捕获包括文档的图像的设备,包括在其中放置所述文档的基座;垂直地从所述基座延伸的支架,其中,所述支架安装了数码相机以捕获所述图像;耦接到所述数码相机的用于存储和处理所述图像的系统。
8.根据权利要求7所述的设备,进一步包括用于处理所述图像的计算机可读介质,该计算机可读介质承载有一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,使一个或多个处理器执行下列计算机实现的步骤检测所述捕获的图像中与所述成像的文档的边缘相关的图形信息;基于与所述成像的文档的边缘相关的图形信息,将所述成像的文档与所述捕获的图像的背景隔离;计算所述成像的文档与所述成像的文档的非失真的透视图的偏离;基于所述计算出的偏离,对所述成像的文档的像素进行重新采样;检测所述捕获的图像中与所述成像的文档的方向相关的图形信息;基于与所述成像的文档的方向相关的图形信息,旋转所述成像的文档。
9.用于处理图像的计算机可读介质,该计算机可读介质承载有一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,这些指令使一个或多个处理器执行下列计算机实现的步骤检测所述捕获的图像中与所述成像的文档的边缘相关的图形信息;基于与所述成像的文档的边缘相关的图形信息,将所述成像的文档与所述捕获的图像的背景隔离;计算所述成像的文档与所述成像的文档的非失真的透视图的偏离;基于所述计算出的偏离,对所述成像的文档的像素进行重新采样;检测所述捕获的图像中与所述成像的文档的方向相关的图形信息;基于与所述成像的文档的方向相关的图形信息,旋转所述成像的文档。
10.一种用于处理捕获的图像的设备,所述捕获的图像包括成像的文档,所述设备包括;一个或多个处理器;以及以通信方式耦接到一个或多个处理器的存储器,该存储器包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,这些指令使一个或多个处理器执行下列步骤检测所述捕获的图像中与所述成像的文档的边缘相关的图形信息;基于与所述成像的文档的边缘相关的图形信息,将所述成像的文档与所述捕获的图像的背景隔离;计算所述成像的文档与所述成像的文档的非失真的透视图的偏离;基于所述计算出的偏离,对所述成像的文档的像素进行重新采样;检测所述捕获的图像中与所述成像的文档的方向相关的图形信息;基于与所述成像的文档的方向相关的图形信息,旋转所述成像的文档。
全文摘要
用于处理捕获的图像的设备和方法,具体来说,用于处理包括文档的捕获的图像。在一个实施例中,描述了包括用于捕获文档的照像机的设备。在再一个实施例中,用于对包括文档的捕获的图像进行处理的方法包括区别成像的文档与其背景,调整捕获的图像以减少由于使用照像机产生的失真,并正确地对文档进行定向。
文档编号H04N1/407GK101048783SQ200580033677
公开日2007年10月3日 申请日期2005年7月29日 优先权日2004年8月26日
发明者小爱德华·P.·希尼, 扎查理·安德里, 扎查理亚·克里格, 詹姆斯·达里尼安, 库尔特·拉佩尔杰, 威廉姆·J.·阿达姆斯, 扎查理·B.·多德斯 申请人:计算机连接管理中心公司