CN102084378B - 基于照相机的文档成像 - Google Patents
基于照相机的文档成像 Download PDFInfo
- Publication number
- CN102084378B CN102084378B CN200980125859.2A CN200980125859A CN102084378B CN 102084378 B CN102084378 B CN 102084378B CN 200980125859 A CN200980125859 A CN 200980125859A CN 102084378 B CN102084378 B CN 102084378B
- Authority
- CN
- China
- Prior art keywords
- text
- line
- document
- image
- character
- 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.)
- Active
Links
- 238000003384 imaging method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 113
- 230000008569 process Effects 0.000 claims abstract description 41
- 239000013598 vector Substances 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 46
- 238000001514 detection method Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 12
- 238000013459 approach Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 8
- RKTYLMNFRDHKIL-UHFFFAOYSA-N copper;5,10,15,20-tetraphenylporphyrin-22,24-diide Chemical compound [Cu+2].C1=CC(C(=C2C=CC([N-]2)=C(C=2C=CC=CC=2)C=2C=CC(N=2)=C(C=2C=CC=CC=2)C2=CC=C3[N-]2)C=2C=CC=CC=2)=NC1=C3C1=CC=CC=C1 RKTYLMNFRDHKIL-UHFFFAOYSA-N 0.000 claims description 6
- 238000007620 mathematical function Methods 0.000 claims 3
- 238000012015 optical character recognition Methods 0.000 claims 2
- 238000000605 extraction Methods 0.000 abstract description 2
- 230000001131 transforming effect Effects 0.000 abstract 1
- 230000000007 visual effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 44
- 238000013507 mapping Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000006854 communication Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 238000001914 filtration Methods 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000005286 illumination Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000005452 bending Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007797 corrosion Effects 0.000 description 3
- 238000005260 corrosion Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100005554 Mus musculus Ccl20 gene Proteins 0.000 description 1
- 241000283216 Phocidae Species 0.000 description 1
- 206010038743 Restlessness Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013019 agitation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005381 potential energy Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 239000012224 working solution Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00249—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a photographic apparatus, e.g. a photographic printer or a projector
- H04N1/00251—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a photographic apparatus, e.g. a photographic printer or a projector with an apparatus for taking photographic images, e.g. a camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1463—Orientation detection or correction, e.g. rotation of multiples of 90 degrees
-
- 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/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- 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/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Character Input (AREA)
- Image Processing (AREA)
- Geometry (AREA)
Abstract
公开了将文本文档的数字照片变换成扫描质量图像的处理与系统。通过从图像中提取文档文本并分析来自文本的可视线索,在图像上构造表示图像中变形的栅格。变换图像以使这种栅格变直,从而除去了由于照相机图像捕捉处理所引入的变形。照明的变化、文本行信息的提取及图像中弯曲行的建模都可以被校正。
Description
对相关申请的交叉引用
本专利申请根据35U.S.C.119(e)请求于2008年5月6日提交的美国临时申请第61/126,781号和于2008年5月6日提交的美国临时申请第61/126,779号的优先权,这两个申请都通过引用并入于此。
技术领域
本申请总体上涉及数字图像处理,尤其涉及处理照相机拍摄的图像。
背景技术
文档管理系统正变得越来越流行。这种系统减轻了存储和处理大型文档数据库的负担。许多机构在物理文档中存储了大量信息,为了易于管理,他们希望将这些物理文档转换成数字格式。目前,光学扫描和光学字符识别(OCR)技术的组合(例如在ABBYY-FineReaderPro 8.0中所体现的)将这些文档转换成电子形式。然而,这个过程可能是不方便的,尤其是对于如装订本或海报的媒体形式,这些形式很难快速并准确地扫描。此外,准备文档然后扫描它们的过程可能是缓慢的。
存储美观且只包含较小变形的图像是优选的。当图像包含严重的变形时,由于变形的影响使得这些图像更难读。而且,光学字符识别假定输入的图像不包含变形。对本申请来说,没有显著变形的文档图像在此称为是“理想的图像”。
在许多情况下,现代的数码照相机具有改善数字化过程的潜能。照相机通常比扫描仪更小更容易操作。而且,文档在被照相机捕捉之前不需要太多准备。例如,海报或者标牌可以留在墙上。这种灵活性的缺陷是将缺陷引入到了图像中。照相机所捕捉的照片可能以对被扫描图像来说不存在的方式变形。最显而易见的影响是由于透视、照相机透镜、不均匀的照明条件和物理上卷曲的文档造成的变形。当前的OCR技术预期其输入来自扫描仪,因此不执行必要的预处理来处理以上提到的所捕捉文档图像中的变形。OCR技术是文档管理软件中处理图像的关键部分,因此当捕捉文档图像时由照相机引入的变形使得当前照相机不是扫描仪的满意替代。因此,展开(dewarp)照相机捕捉的文档图像并除去变形是从扫描仪过渡到照相机的必要过程。
关于图像校正的大部分研究集中在特定类型的卷曲。一种使任意卷曲的文档变平的方法是将照片投影到近似原始文档表面的3D栅格中。(见2004年26(10)期IEEE Transactions on Pattern Analysis andMachine Intelligence上第1295-1306页由Michael S.Brown和W.Brent Seales所写的“Image restoration of arbitrarily warpeddocuments”。)该变平算法将栅格建模为由弹簧连接并受重力影响的质点的集合。通过让弹簧适于最小势能的状态,该算法试图使表面的拉伸最小。尽管这种方法已经证明是成功的,但它依赖于时间步长的物理建模。这种算法的实验运行时间是分钟级的,这太慢了。此外,该算法假定它具有表示文档的准确3D表面,这将必须从由2D图像提取出的信息来重构。
一种无需对文档表面的先前知识而展开图像的方法是基于从文档内的文本行收集到的信息在图像上建立栅格。(见2006年Proceedings of the 18th International Conference on PatternRecognition第1期上第971-974页由Shijian Lu和Chew Lim Tan所写的“Document flattening through grid modeling andregularization”。)这种方法假设在原始文档中文档行是直的而且均匀地隔开,而且每个栅格单元中的曲率是近似恒定的。每个栅格单元代表原始文档中相同大小的方形。在卷曲的图像中,栅格单元的顶侧和底侧应当平行于正切矢量,而栅格单元的左侧和右侧应当平行于法向矢量。每个四边形单元都利用线性变换映射到方形中,从而有效地展开文档。在有些情况下,这种方法缺乏确定垂直单元边界的对准与间隔所需的信息。有些人已经尝试利用“垂直笔划分析”来获得这种信息,该方法集中在将单个字符的直线片段作为文本垂直方向的标记。(见2005年Image and Vision Computing第24期上第541-553页由ShijianLu Chen、Ben M.Chen和C.C.Ko所写的“Perspective rectification ofdocument images using fuzzy set and morphological operations”。)
为了不利用中间栅格结构就创建连续、平滑的变换,另一种方法将页面建模为可扩展(developable)的表面。(见2005年在Pro.FirstInternational Workshop on Camera-based Document Analysis andRecognition上第25-29页由Jian Liang、Daniel DeMenthon和DavidDoermann所写的“Unwarping Images of Curved Documents UsingGlobal Shape Optimization”。)可扩展的表面是不拉伸就将平面卷曲的结果。这种方法试图通过分析文本来找到表面的划线(ruling)。划线是在平面被卷曲之前沿表面为直的线条。逆变换通过矫正划线来展开表面。
然而,还没有发现这些方法中任何一种对于展开采用数码照相机所捕捉的文档是完全令人满意的。
发明内容
本发明的一个目的是解决或者至少改善以上提到的与数字图像相关联的一个或多个问题。因此,提供了一种用于处理包含文本行的文档的拍照图像的方法,其中文本行包括具有垂直笔划的文本字符。该方法包括分析文本行的位置和形状,并将它们变直成规则的栅格,以便展开文档图像的图像。在一种实施例中,该方法包括三个主要步骤:(1)文本检测,(2)形状和朝向检测,及(3)图像变换。
文本检测步骤找出图像中对应于文本的像素,并创建只包含那些像素的二元图像。这个处理通过识别局部的背景光强度来解决不可预知的照明条件。文本像素被分组成字符区域,且字符被分组成文本行。
形状和朝向检测步骤识别排版特征并确定文本的朝向。所提取出的特征是文本中对应于文本字符的顶部和底部的点(端点)及文本中垂直线条的角度(垂直笔划)。而且,曲线拟合到文本行的顶部和底部,来近似原始文档形状。
图像变换步骤依赖于栅格建立处理,其中所提取出的特征用作识别文档卷曲的基础。生成矢量域,来表示在每个点处文档的水平和垂直拉伸。可选地,可以使用基于优化问题的方法。
从联系附图考虑的以下描述,本发明的更多方面、目的和期望特征及优点将能更好地理解,附图中所公开发明的各种实施例是作为例子来例示的。然而,应当明确地理解,附图仅仅是为了例示,而不是要作为本发明限制的定义。
附图说明
图1是例示基于照相机的文档图像展开处理的步骤的流程图。
图2例示了包括包含文本行的文档的示例图像的照片。
图3例示了在对图2的图像利用简单阈值处理进行二元化之后图2的照片的输出图像。
图4例示了在利用Retinex型归一化然后再阈值处理进行二元化之后图2的照片的输出图像。
图5例示了包含文本行的极度卷曲的文档的灰度级图像和从该文档的照片创建的其它文档。
图6例示了在对图5的图像执行过滤处理之后的输出图像。
图7例示了在对图6的输出图像执行粗略的阈值处理之后的输出图像。
图8例示了在对图6的输出图像执行一种处理之后的输出图像,其中前景(最初被识别为文本的区域)被除去且插入了空像素。
图9例示了在对图5的图像执行完整的二元化处理之后的输出图像。
图10是例示英文排版中各种特征的图。
图11例示了具有文本行的文档的拍照图像,其中控制点已经标记为暗的和亮的点。
图12例示了在对图11的图像执行基于优化的展开处理之后的输出图像。
图13描述了用于处理被捕捉图像的系统的一个实施例。
图14是例示基于照相机的文档图像展开处理的可选实施例的步骤的流程图。
图15是例示基于照相机的文档图像展开处理的另一个实施例的步骤的流程图。
具体实施方式
现在将参考附图描述本发明的实施例。为了方便描述,一个图中表示元件的任何标号将在任何其它图中表示相同的元件。图1是例示根据本发明一个实施例的基于照相机的文档图像展开处理的步骤的流程图。
参考图1,提供了用于展开由照相机所捕捉的文档图像的方法100。方法100涉及分析成像文档中所包括的文本行的位置和形状,然后将它们变直成规则的栅格。在所例示的实施例中,方法100包括三个主要步骤:(1)文本检测步骤102,(2)形状和朝向检测步骤104,及(3)图像变换步骤106。如下所述,每个主要步骤可以进一步包括几个子步骤。
1.文本检测
文本检测步骤102找出图像中对应于文本的像素,并创建只包含像素的二元图像。在本实施例中,文本检测步骤102通过识别局部的背景光强度来解决不可预知的照明条件。在本实施例中,为了适合地识别文本,在文本检测步骤102中执行五个子步骤。这些子步骤是二元化步骤110、文本区域检测步骤112、文本行分组步骤114、质心样条计算步骤116和噪声去除步骤118。在其它实施例中,可以使用不同的子步骤,或者它们的次序可以变化。
1.1二元化
二元化110是识别图像中组成文本的像素从而将图像分成文本和非文本像素的处理。二元化的目的是通过从图像中提取关于文档形状的有用信息来定位文本并消除无关信息。这个处理以原始彩色图像作为输入。其输出是与原始图像具有相同维度的二元矩阵,其中零表示输入图像中文本的位置,而一表示其它任何地方。在其它实现中,这可以反过来。二元化处理优选地涉及(a)像素归一化,(b)阈值处理和(c)假象去除,这些中的每一个都将在下面更详细地描述。
a.像素归一化
一般来说,文本像素比其周围要暗些。简单的或粗略的二元化技术一般采用特定阈值,并假定一个图像上的所有比阈值亮的像素都是白色,而所有比阈值暗的像素都是黑色。尽管这种技术对扫描的文档工作良好,但是,由于照明和字体粗细的不同,单个全局阈值对于通过拍照文档所捕捉的各种图像将不能很好地工作。图2例示了包括文档的示例图像202的照片,其中文档包含文本行并且具有差的成像质量。注意,由于原始文档的卷曲,相比于图像202的其余部分,在图像202的右上区域204上照明要暗些。图3例示了在利用简单阈值处理对图2的图像202进行二元化之后图2的照片的输出图像206。注意,图像202的整个右上区域208都被认为是文本区域。
为了解决这种强度变化,在一个实施例中,可以基于与周围相比的相对强度来对每个像素执行归一化运算。在这个方面,可以采用来自Retinex的方法。(见2007年http://dragon.larc.nasa.gov/上GlennWoodell所写的“Retinex image processing”。)根据Retinex,原始图像被分成块,这些块大到足以包含几个文本字符,但又小到足以具有比页面作为一个整体更一致的照明。因为,在一般的文档中,通常有比背景像素少的文本像素,所以块中的中值将近似地是特定块中背景页面的强度值。然后,每个像素值可以除以块的中值,以获得归一化值。
应当理解,块的尺寸可以调整,且可以采用多种块尺寸。例如,如果块的尺寸太大,则由于页面上不均匀的照明,块的中值可能不能准确地表示背景。另一方面,如果相比于文本字符的尺寸来说块尺寸太小,则中值会错误地表示文本强度,而不是表示背景强度。此外,由于文档页面上变化的条件,所以单个块尺寸可能不适于整个图像。例如,标题中的文本字符常常比较大,因此需要更大的块尺寸。
用于确定可以采用的适当块尺寸的一种处理是通过取整个图像并将其分成许多非常小的块来进行的。然后再将块逐步地进行重新组合。在重新组合的每个层次,都评估当前的块是否大到足以使用。重新组合处理可以在页面上的不同点处停止。块尺寸是否“足够大”可以基于附加的试探。例如,因为非零的拉普拉斯算子与文档中文本的位置有非常高的相关性,所以可以对输入图像施加离散二阶导数或者拉普拉斯算子的应用。因此,将块的尺寸设定成包含特定量的求和拉普拉斯算子可以确保块足够大,以包含几个文本字符。
应当理解,对于特定的应用(例如,照相机类型、文档类型、照明,等等),以上所述用于确定块是否足够大以进行归一化的方法可以进行细微调整。
b.阈值处理
如前所述,当像素相对于背景纸张颜色进行归一化之后,背景上的像素将具有大约为一的归一化值,而文本上的像素具有低得多的归一化值。因此,这种比较将不受图像的绝对亮度或者暗度影响。由于对像素的归一化运算可以通过只利用其局部环境来执行,因此它还独立于跨页面照明中的局部变化。
为了区分白色值和黑色值,选择阈值。然而,由于单个图像的强度特性已经通过如上所述的归一化被滤出了,因此单个阈值能够对大部分图像一致地工作。而且,因为归一化的背景具有大约为一的像素值,所以在一个实施例中,选择稍微低于一的阈值,例如0.90或者0.95。在其它实施例中,构想还可以采用其它适合的阈值,以及不同的块可以采用不同的值。
图4例示了当利用局部归一化的二元化之后对图2中所例示的非理想图像执行根据本发明的阈值处理时所得的输出图像。当与图3中所例示的简单二元化的结果比较时,可以观察到显著的改善。在图4中,右上区域中的文本行212现在可以与背景214区分开。
c.假象去除
如图4所示,在许多情况下,阈值处理之后的图像中将存在假象或者噪声。这个阶段的目的就是识别并除去假的正值或者噪声。例如,相对于其周围,纸的边缘趋于薄且暗。当特定块不包含文本时,背景中也可能存在噪声。这种噪声(例如,包括由于照明像差导致的噪声)可能会被识别成文本。因此,优选地采用附加的后处理来除去噪声。
一种用于除去噪声的处理将二元化的图像中的黑色或者文本像素分离为连接的部分。采用三个标准来丢弃非文本的所连接区域。前两个标准用于根据像素的个数来检查区域“太大”还是“太小”。第三个标准是基于如果一个区域完全包括接近第一阈值的像素,则该区域有可能是噪声的观察。实际的文本字符或称字符可能具有一些边界线像素,但其大部分应当暗得多。因此,整个区域的平均归一化值可以被检查,且其平均归一化值太高的区域应当被除去。这些标准引入了三个参数:最小区域面积、最大区域面积和用于区域级(region-wise)的平均像素值的阈值。区域级的阈值应当比像素级(pixel-wise)阈值低(更严格),以对除去噪声具有期望的效果。
在以上所述的二元化处理的像素归一化步骤中,进行对背景纸张颜色的估计,然后,如果像素比该颜色暗得多,则该像素被识别为文本,而且图像被分成块,假定每个块中的中值颜色作为其背景纸张颜色。假如能很好地选择先前所提到的参数,则该方法工作得很好。然而,构成良好选择的参数有时候会从一个图像到另一个图像,或者甚至从图像的一部分到另一部分,剧烈地变化。为了避免这些问题,可以采用以下所述的可选二元化处理。
可选地,在本实施例中,二元化步骤110可以通过执行以下优选步骤来进行。首先,由粗略阈值处理方法对前景进行粗略的估计。用于这种粗略阈值处理的参数被选择成使得我们宁可将太多的像素识别为文本。然后,根据所选的阈值,从原始图像中除去这些前景像素。然后,由于除去前景像素而留下的洞通过从剩余值进行插值来填充。通过除去初始阈值并在洞上插值,这提供了对背景的新估计。最后,现在阈值处理可以根据对背景的改进估计来进行。甚至当在拍照文档上给出不均匀的照明条件时,这个处理也工作得很好。以下提供对如何执行这种优选的二元化步骤110的更详细描述。
首先,包括文本行的文档的照片被转换成灰度级图像216,如图5所示。灰度级图像216包括包含文本行的文档的示例图像,其中极度卷曲的主文档218与其它文档220一起示出。在一个实施例中,转换成灰度级可以通过使用Matlab的rgb2gray函数来实现。
第二,对图像进行预处理,以便降低噪声,由此平滑所捕捉到的图像。在一个实施例中,平滑可以通过使用Wiener过滤器来进行,其中Wiener过滤器是低通过滤器。图6所示的图像222例示了在对图5的图像执行过滤处理之后的输出图像。尽管图6所示的图像222看起来就象图5所示的其输入图像216,但过滤器很好地除去了椒盐型噪声。Wiener过滤器可以通过例如使用具有3×3邻域的Matlab的weiner2函数来执行。
第三,前景是通过使用简单的或者粗略的阈值处理来估计的。在本实施例中,该方法归属于Sauvola,该方法计算关于每个像素的邻域中像素值的平均和标准偏差,并使用该数据来决定每个像素是否足够暗到象文本。(见2000年Pattern Recognition第33卷上第225-236页由J.Sauvola和M.Pietikainen所写的“Adaptive Document ImageBinarization”,该文献通过引用并入于此。)图7例示了在对图6的输出图像222执行粗略阈值处理之后的输出图像224。在其它实施例中,也可以使用诸如Niblack的方法。(见1985年Prentice HallInternational的Section 5.1上第113-117页由Wayne Niblack所写的“An Introduction to Digital Image Processing”,该文献通过引用并入于此。)
在象页面226的顶部的区域(其中标准偏差非常小)中,输出大部分是噪声。这是窗口大小为什么重要的一个原因。当对比度明显时,例如围绕纸张的边缘228,也出现噪声。然而,噪声假象的存在是不重要的,因为噪声假象可以在后一个阶段除去。在本实施例中,选择大量的假正数,而不是假负数,因为如果没有假负数,以下步骤工作得最好。
第四,通过首先经初始阈值处理来除去前景(最初被识别为文本的区域)然后在由于前景去除而造成的洞上插值,可以找到背景。对于经初始阈值处理被识别为文本的那些像素,它们的颜色值被通过插入邻近像素的颜色值来替代以近似背景,如图8中的图像230中所示。图8例示了在对图7的输出图像224执行一种处理之后的输出图像230,其中前景被除去且已插入空像素。这个图像230可以包含来自文本假象的噪声,因为有些围绕文本的较暗像素在初始阈值处理步骤中可能没有被识别为文本。这个效果是当估计背景时在初始阈值处理步骤中使用前景的更大超集的另一个原因。
最后,阈值处理是基于图8中所估计的背景图像230执行的。在一个实施例中,图7的经预处理的输出图像224和图8的背景图像230之间的比较是由Gatos的方法执行的。(见2006年Pattern Recognition第39卷上第317-327页由B.Gatos、I.Pratikakis和S.J.Perantonis所写的“Adaptive Degraded Document Image Binarization”,该文献通过引用并入于此。)图9例示了在对图5的图像216执行了完整的二元化处理之后的输出图像240。在图9中,甚至在靠近主文档248的边缘246处的极度卷曲区域,文本区域242也从其背景244中很好地被识别出。
在后一个阶段,可以执行后处理。阈值可以应用到最大和最小的区域,而且可以除去噪声的普通实例(例如,围绕主文档248的边缘的大暗线250)。
因此,先前关于图5-9所述的二元化步骤110能够处理作为输入的在差照明条件下被捕捉的极度卷曲文档218的照片图像,并成功地将其转换成该文档的二元化图像240,其中文本区域与其背景可以区分开。
1.2文本区域检测
在提取出图像中的文本像素的位置后,可以识别原始文档的有用特征,尤其是局部的水平和垂直文本朝向。然后,可以建立矢量域,来建模文档的文本流。应当指出,在图像中,水平和垂直数据是分开的。尽管这些方向在源文档中是正交的,但是透视变换去掉了它们的耦合。在具有清楚文本特征的位置的这些朝向可以被识别,且跨页的朝向可以被插入,以便描述整个文档的表面。
参考图10,使用拉丁字符集的语言具有大量包括一个或多个长、直、垂直线条的字符,其中长、直、垂直线条称为垂直笔划260。有相对少的类似长度的对角线,而且它们常常与邻近的垂直笔划有显著的角度。这种规律使得垂直笔划成为获得关于页面的垂直方向的信息的理想文本特征。
为了找到页面的水平方向,可以使用单个文本行中的平行水平线集,称为划线(ruling)。不象垂直笔划260,这些划线本身在源文档中是看不到的。一般来说,字符的顶部和底部落在称为x高度262和基线264的两个主要划线上。x高度262和基线264划线分别定义文本字符x的顶部和底部。在有些文本字符中,文本字符的一部分延伸超过了文本字符x的高度,就象d和h,称为上行字母266。另一方面,下行字母268是指文本字符的一部分延伸低于文本字符x的底部,就象y或者q。在本实施例中,x高度262和基线264用作字符区域的局部最大值和最小值(端点)。这些端点是字符区域中的“最高”和“最低”像素,其中用于高和低的方向是从通过文本行中每个字符区域的质心的粗略样条确定的。这些端点随后用在曲线拟合处理中,这将在单独的章节中描述。
如果两个像素具有相同的颜色,而且彼此相邻并共享一个公共的侧边,则这两个像素相连接。像素区域是一组连接的黑像素。在这个专利文档中,术语“连接的部分”、“连接的区域”或者仅仅“字符区域”都可以互换使用。
正确二元化后的图像应当包括一组连接的区域,假定每个区域对应于可以旋转或者歪斜但没有明显局部弯曲的单个文本字符。文本区域检测步骤112将在前面二元化步骤中被识别为文本像素的所有像素都组织到连接的像素区域中。在二元化步骤成功的情况下——二元化后的图像具有低噪声且文本字符被很好地分解——每个文本字符都应当识别为连接的区域。然而,存在其中文本字符组被标记为邻接区域的情况。
在本实施例中,可以采用Matlab的内建区域查找算法(该算法是标准的广度优先搜索(breadth-first search)算法)来实现文本区域检测步骤112并识别字符区域。
1.3文本行分组
文本行分组步骤114用于将图像中的字符区域分组成文本行。对文本方向的估计是基于二元图像的局部投影轮廓和在分组处理中产生的可用文本方向进行的。优先权给予具有同线字符的组。当找到更好的可能性时,允许重新形成组。换句话说,可以利用猜测和检验(guess-and-check)算法来将字符分组成文本行,该算法基于接近程度分组区域并基于线性度覆盖先前的组。对于每个文本行,通过拟合通过字符质心的粗略多项式,可以找到对局部朝向的初始估计。多项式拟合优选地强调性能多于精度,因为后续步骤需要这个估计,但不需要其非常准确。多项式拟合的正切用于初始的水平朝向估计,而且初始垂直朝向假定为优选地是正交的。
1.4质心样条计算
在质心样条计算步骤116中,计算文本行的每个字符区域的“质心”的位置。在本实施例中,质心是字符区域中每个像素的坐标的平均值。然后,计算通过这些质心坐标的样条。
1.5噪声去除
在将字符区域分组成文本行之后,所计算出的样条的位置可以用于确定哪些文本行不对应于真正的文本。这些是由来自不对应于真正文本行的页边界之外的背景噪声的无关像素组成的字符区域分组。在本实施例中,在这个噪声去除步骤118中基于照片/列除去噪声。
因为文本可以分组成段落,所以可以识别对应于段落的区域。因此,表示不与段落区域相交的文本行的样条可以作为噪声而不是真正的文本行来对待,因此应当除去。
为了识别对应于段落的区域,可以假定在段落中文本行与紧挨着的上面或者下面的文本行平行,而且这些文本行具有大致相同的形状和大小。附加地,还可以假定文本行之间的垂直距离是恒定的。
因此,可以通过使用膨胀与腐蚀过滤器来识别包含段落的多边形区域。膨胀过滤器扩展像素区域的边界,而腐蚀过滤器收缩像素区域的边界。这些过滤器使用不同的结构元素来精确地定义过滤器如何影响区域的边界。圆可以用作结构元素,它通过圆的半径来扩展和收缩区域。
在本实施例中,噪声去除步骤118优选地是按以下顺序执行的。首先,基于文本行之间的距离,确定结构元素的大小。通过扩展文本行距离,可以形成区域,使得每对相邻的文本行都包含在单个区域中,由此有效地将段落放在区域中。接下来,可以采用腐蚀过滤器来加倍文本行距离,以便从主段落消除稀或者远的区域。然后,膨胀过滤器可以用于确保剩余区域包围了对应的段落。接下来,其面积小于最大区域面积的预定因子的所有区域都可以丢弃,以便除去剩余的噪声区域。在一个实施例中,预定因子是四分之一。一旦识别出包含段落的区域,不与这些区域相交的所有样条就都可以除去,由此只留下对应于真正文本行的切片线条。
尽管以上所述的去除处理可能偶然地除去有效的文本行(例如,标题和脚标),但段落应当包含足够多关于页面形状的信息,用于进一步的处理。
2.形状与朝向检测
形状与朝向检测步骤104识别排版特征并确定文本的朝向。所识别出的特征是文本中对应于文本字符的顶部和底部的点(端点)以及文本中垂直线条(垂直笔划)的角度。这些特征可能不会在每单个字符中存在。例如,大写的O就既没有垂直笔划也没有x高度端点。而且,曲线拟合到文本行的顶部和底部,以便近似原始的文档形状。
在本实施例中,在形状与朝向检测步骤104中执行五个子步骤。这些子步骤是端点检测步骤120、样条拟合步骤122、页面朝向检测步骤124、异常值(outliner)去除和垂直段落边界确定步骤126及垂直笔划检测步骤128。
2.1端点检测
如前面所提到的,字符的端点是字符中的顶部和底部特征,使得它们在所识别出的字符区域中是局部最小值或者最大值。它们趋于落在文本行的水平划线上。在本实施例中,端点检测步骤120用于找出文本文档中的水平朝向,因为端点是字符区域中明确定义的特征。端点可以按照每个字符从阈值化的字符区域和文本行的质心样条来识别。
为了找到所识别出的字符区域中的局部最大值和最小值,关于字符区域的朝向是关于找到最大值和最小值的朝向定义的。这个朝向可以由通过字符的质心样条的角度来近似。这种近似会有高误差,因为字符区域中的端点关于所选原始朝向是鲁棒的。对于在垂直笔划的顶部和底部的端点,需要多达90°的字符朝向误差来错误地识别端点。如果字符朝向具有多达40°的误差,对角线笔划顶部的端点仍然可以准确地被识别。位于曲线字符(例如,文本字符“o”)顶部的端点对朝向的误差更敏感,因为即使几度的小误差都会将端点放到曲线的不同位置。然而,这种误差不会将所识别出端点的高度改变超出几个像素。
在找到端点之前,应当知道近似的朝向。可以对每个区域的像素执行坐标的改变,其中新的y坐标y’是由朝向给出的,而新的x坐标x’与y’方向正交。这可以通过对像素坐标列表应用旋转矩阵来实现。换句话说,与原始的整数坐标相对,新的像素坐标是由浮点数表示的。x’坐标可以取整到最近的整数,以便将像素分组成旋转后空间中的列。
为了找到字符区域中的全局极值,应当识别具有最大或最小y’坐标的像素。显著较大部分的全局极值落在如图10所示的大写字母高度线270上,使得如果只考虑全局极值则难以准确地区分任何一个划线。另一方面,找到字符区域中的局部极值通常会产生更好的结果。大部分局部最大值在x高度划线上,使得划线很容易找到。
为了将顶部的端点与底部的端点分开,字符区域可以首先沿质心样条分成两半。只有在该质心样条之上的点才有可能是位于x高度划线上的局部最大值。而且只有在该质心样条之下的点才有可能是位于基线划线上的局部最小值。在每一半中,局部极值都是由迭代处理识别的,该迭代处理选择当前的全局极值并除去附近的像素,如下一段中更详细描述的。
从识别出的端点开始,迭代处理找出相邻两个像素列中不高于端点本身的最高像素,然后删除端点列中的其它一切。然后,对邻近列中的像素迭代,将该列的顶部作为用于进行除去的另一个端点。以这种方式,来自字符朝向方向中字符的像素可以被除去,由此保留其它局部极值。然后重复该处理,在更小的像素集中使用新的全局极值作为新的端点。
2.2样条拟合
在样条拟合步骤122中,样条拟合到文本行的顶部和底部。在获得前一章节中所描述的端点后,端点可以被过滤,且样条可以拟合到端点。样条用于建模每个文本行的基线264和x高度262划线,用于指示文档的局部卷曲。
样条可以用于以类似于高阶多项式的方式平滑地近似数据,同时避免与多项式相关联的问题,例如Runge现象。(见2007年http://demonstrations.wolfram.com/RungesPhenomenon上由ChrisMaes所写的“Runge’s Phenomenon”,该文献通过引用并入于此。)在本实施例中,样条是分段的三次多项式,在该多项式段相遇的坐标处有连续的导数。在本实施例中,如果期望拟合误差的减小,则要增加多项式段的个数,而不是增加多项式的次数。
在本实施例中,采用通过靠近端点处而不是经过端点的近似样条。
样条的一个例子是线性样条(次数为二)。在线性样条中,直线片段用于近似数据。然而,因为斜率在片段结合的地方是不连续的,所以这种线性样条缺乏平滑性。通过实施连续导数,更高次数的样条可以修复这种问题。有n段的次数为3的三次样条S(x)可以由一组多项式{Sj(x)}来表示,该多项式是在n个连续的间隔Ij上定义的:
其中ai,j是选择用于确保样条跨间隔有连续导数的系数。
在本实施例中,通过执行下文所述的处理,样条拟合解决了速度和准确度的问题。首先,通过知道当文本使用拉丁字符集时异常值大部分出现在文本行上面一半,识别文档的朝向。知道该朝向使得有可能使用不同的算法对文本行的底部和顶部拟合样条。
在本实施例中,中值过滤器应用到底部端点,以便减少异常值的影响。采用一个小窗口用于过滤器,因为在文本行的下面一半有较少的异常值,而且那些异常值不趋于在英文文本中被聚集到一起。拟合到这种新的过滤后的数据集的样条称为底部样条。接下来,利用距底部样条的距离和具有大窗口尺寸的中值过滤器来过滤顶部端点。这减少了文本行顶部上大量异常值的影响,并确保顶部和底部样条是局部平行的。
如前面所描述的,在拟合样条之前,通过利用中值过滤器来过滤顶部和底部端点。
关于底部端点的过滤,在本实施例中,底部端点是利用具有小窗口尺寸w的中值过滤器过滤的。在本实施例中,w设成3。点由其x坐标值来排序。然后,每个底部端点的y坐标值被邻近点的y坐标的中值替代。对于大部分点,有2w+1个邻居,包括该点本身。这是通过在排序列表中朝该端点的左边取w个点并朝该端点的右边取w个点找到的。第一个和最后一个端点被丢弃,因为它们在一侧没有邻居。离列表任何一端距离小于窗口尺寸的其它端点应当将其窗口尺寸改变成该距离。这确保在任何给定的端点处,左右两边总是有相同个数的点,用来计算中值。选择2w+1个点(奇数)还有一个好处,即,y坐标值的中值将总是整数。
关于顶部端点的过滤,在本实施例中,使用与底部端点过滤不同的方法。因为英文文本在顶部端点数据中包含更多的异常值。考虑对应x坐标处顶部端点的y坐标和底部样条之间的距离。因为底部样条通常是可靠的,所以对于大邻域中的非异常值数据,这些距离应当是局部恒定的。因此,为了除去异常值,具有大窗口尺寸的中值过滤器应用到这些距离。每个顶部端点的y坐标用该点处的中值距离和对应x坐标处底部样条的y值之和替代。
一旦顶部和底部端点都过滤了,两个样条就可以拟合到每个文本行。在本实施例中,底部样条拟合到过滤后的底部端点数据集,而顶部样条拟合到过滤后的顶部端点数据集。针对这两个目的,使用相同的近似样条。所有点都可以同等地加权,样条可以是三次(次数为4),而样条段的个数是由文本行中字符区域的个数确定的。一般来说,每个字符区域对应于一个文本字符。在有些情况下,几个文本字符或者一个词可以一起模糊到一个区域中。在一种实施例中,样条段的个数设置成字符区域的最高限度除以5,要求的最小值是两段。
用于每个文本行的样条是独立于其它文本行寻找的。然而,来自相邻文本行的信息可以用于使样条关于彼此更加一致。当找到的行跨多个文本行时,这种信息还可以用于找出文本行中的错误。
用于确定局部文档卷曲的顶部样条可以被忽略,因为来自底部样条的数据通常足以准确地展开文档。这是因为文本行在文本行的开始或结束处有几个连续的大写文本字符,这些字符可以贡献大量在x高度线262之上的端点,这些端点将不会被中值过滤器作为异常值除去。由此,样条将不正确地向上弯曲以适合大写文本字符的顶部。然而,计算顶部样条仍然是优选的,因为顶部样条给出了关于文本行高度的其它有用信息。
2.3页面朝向确定
文档有四种可能的朝向:东(0°)、北(90°)、西(180°)或者南(270°)。这是原始文档中朝上画的箭头在图像中所指的一般方向。水平样条的个数与垂直样条的个数进行比较,以确定朝向是北/南或者东/西类。由于顶部和底部样条是不同的,因此有必要区分北和南或者东和西,以便知道文本行的哪一半是上面一半。这可以通过采用如下观察来实现:在英文及使用拉丁字符集的其它语言中,由于大写文本字符、数字、标点及更多字符具有上行字母而不是下行字母,因此文本行的上面一半比下面一半有更多的异常值。
因此,为了区分文档的顶部和底部,在本实施例中,选择其长度靠近所有文本行的中值长度的文本行的代表性样本。对于样本中的每个文本行,顶部是通过检查哪一侧具有更多的异常值来找的。这可以通过对顶部和底部端点集都应用底部样条拟合算法并测量这些拟合中的误差来进行。在一个实施例中,当产生等价朝向的文本行的个数是文档中所有文本行的至少5%并且超过产生可选朝向的文本行的个数至少两个时,朝向被确定。这确保朝向检测在99%的时候是准确的。
关于文本行选择,典型的文档包含100至200个文本行。因此,理想地,其中只有非常少的样本用于朝向计算步骤,这显著地比常规样条拟合慢。通常,需要5至10个文本行来结论性地确定朝向,但是由于“赢两个(win by two)”标准,这个数可以变化。在本实施例中,为了减少由于噪声产生的错误的个数,文本行首先要根据其长度进行排序。太短或太长的文本行更有可能是噪声,而且长文本行趋于比短文本行给出更准确的结果。计算所有文本行的平均和中值长度,而且这两个数中的最大值被认为是最优的行长度。然后,根据它们的长度与最优行长度之间的差,将所有文本行排序。因此,合理的文本行长度是在异常值之前考虑的。
关于误差度量,在样条拟合到每个文本行的顶部和底部之后,这两个拟合的误差可以进行比较。拟合的误差是通过考虑每个端点处的误差来计算的。端点处的误差是在该端点的y坐标和对应x坐标处样条函数的值之间的差。这些逐级(point-wise)误差可以被求和并由用于计算拟合误差的端点个数来依比例确定。
由于顶部样条具有更多异常值的假设来自字符是拉丁字母的假设,因此该方法对其它字符集可能需要进行修改。因此,为了得出文本行的朝向,对拟合误差中需要有多大的差别设置阈值。这个阈值确保当不能正确地确定朝向时不会不正确地进行关于文本朝向的假设。如果不满足阈值,则文本被认为是右侧向上或顺时针旋转90°。一旦朝向可以确定,则展开步骤就可以用于正确地旋转图像。
下文列出为本实施例实现所选的参数:(1)用于底部样条的中值过滤器的窗口尺寸设置成7。选择这个值是因为在每个文本字符都可以大致找到两个端点,因此窗口包括在该端点右边的一个文本字符和在该端点左边的一个文本字符。(2)用于顶部样条的中值过滤器的窗口尺寸设置成21。这个值选成比用于底部样条的窗口尺寸大得多,以便使对顶部端点的过滤更严格。(3)每行的样条段的个数设置成字符区域的个数的最高限度除以5,这要求每行至少有两个样条段。(4)有效文本行中区域的最小个数设置成5,以确保有足够的数据点来定义样条。
2.4异常值去除与垂直段落边界确定
现在将描述异常值去除与垂直段落边界确定步骤126。在这个时候,连接的文本区域已经识别出来并分组成可能的文本行。对于每个可能的文本行,计算用于每个像素连接区域的质心。然后,计算用于每个文本行的近似朝向。朝向与大部分其它文本行非常不同的文本行被丢弃。比其它文本行短得多的文本行也被丢弃。在一个实施例中,采用Matlab的“clustercentroids”函数来实现异常值去除处理。
在消除了错误的文本行后,可以收集每个文本行的起点和终点。Hough变换可以用于确定文本行的起点是否对齐——如果是的话,则找到了描述段落左边缘的行。类似地,如果文本行的终点对齐,则段落是右对齐的并且找到了段落的右侧。如果找到了这些段落的边界,则它们可以用于在最后的栅格建立步骤132中补充(随后在算法中收集的)垂直笔划信息。在最后的栅格建立步骤132中,给予这种段落边界信息比垂直笔划信息更多的权重。
2.5垂直笔划检测
在本实施例中,垂直笔划检测步骤128是通过首先用文本像素与文本行的质心样条相交来执行的。在每个交点处,通过沿局部垂直方向进行扫描,获得大致垂直的像素块。每个块的局部垂直方向可以利用最小二乘线性拟合来估计。然后,所获得的这像素集利用拟合后的二次多项式过滤,这有利于被检测笔划中朝向的线性度和一致性。拟合后多项式的异常值可以被除去而不予考虑。在一个实施例中,异常值是通过使用10°的手调阈值来除去的。然后,结果可以通过使用平均过滤器来平滑。
可选地,异常值还可以用于找出垂直笔划,尤其是当照相机分辨率提高时。已经证明,越大的像素集越容易分析边界,而不是内部。这是因为越大的像素集具有越明确定义的边界,而内部的尺寸比边界的尺寸增长得快。
3.图像变换
在本实施例中,在这个图像变换步骤106中执行两个子步骤。这些子步骤是插值创建步骤130和栅格建立与展开步骤132。
在栅格建立与展开步骤132中,提取出的特征用作识别文档卷曲的基础。产生一个矢量域来表示文档图像在每个点处所要求的水平和垂直拉伸。可选地,栅格建立与展开步骤132可以由基于优化的展开步骤134替代。
3.1插值器创建
在这个插值器创建步骤130中,从来自顶部和底部样条的垂直笔划和水平信息来创建用于垂直信息的插值器。在本实施例中,成像文档的展开是通过对成像文档应用两个维度的变形执行的。变形是对成像文档的局部拉伸,其目的是产生看起来象平的文档的图像。成像文档应当拉伸多少可以根据来自局部提取特征的数据局部地确定。这些特征可以是成像文档中拟合到两个矢量集中一个的2D矢量。第一个集合的矢量与文档中文本的方向平行,而第二个集合的矢量与文档文本中的垂直笔划的方向平行。在原始图像的卷曲文档中,这些集合中的矢量可能指向任何方向。期望拉伸图像,使得这两个矢量集变得正交,每个集合中的所有矢量都指向相同的方向。平行于文本行的矢量应当都指向水平方向,而平行于垂直笔划的矢量应当都指向垂直方向。
平行的矢量可以通过计算规则隔开的间隔处的文本行样条的单位正切矢量来提取。而且,来自每个文本行的垂直笔划可以通过寻找和文本中大致与每个文本行的质心样本正交的暗线对应的一组平行线来提取。每个垂直笔划都可以表示为笔划的位置与方向中的单位矢量。每个垂直笔划的角度可以通过使用最小二乘线性回归来估计。在这里,平行的矢量称为正切矢量,而垂直笔划矢量称为法向矢量。应当指出,在展开的文档中,法向矢量与正切矢量正交。然而,在文档的原始图像中,透视变形和页面弯曲使得这些矢量之间的角度大于或者小于90°。
下文描述基本的插值处理。第一步是跨整个文档插入正切和法向矢量。这对于确定如何展开图像中没有文本或者文本不提供有用信息的部分是必不可少的。Java类可以用于存储已知的单位矢量(x,y,θ)。一旦这个类的对象收集到了所有已知的矢量,则在指定位置(x,y)处的未知矢量的角度θ可以通过取(x,y)局部邻域中附近已知矢量的加权平均值来获得。由于,因此这可能是很复杂的。由于在π-ε的一个角度非常接近在-π+ε的另一个角度(其中ε是某个非常小的数),因此普通插值技术未必能很好地工作。角度是由已知矢量的加权平均值计算的,其中每个已知矢量v的权重是利用以下函数计算的。
其中r是邻域的半径,而d是v和(x,y)之间的距离。
应当指出,d<r,因此,当d接近r时,w(d)变得非常小。当d接近0时,w(d)变得非常接近1。在本实施例中,等式中的常数(10和5)用于以平滑的方式归一化0和1之间的权重值。这些值可以改变,以便改变结果。参数r确定矢量影响的半径。参数r可以任意地设置在100个像素。然而,其它数也可以使用,因为如果邻域中没有矢量,则搜索将继续超出该邻域,将非常低的权重分配给任何发现的矢量。参数r可以任意选择,因为底层数据结构是kd树,该树支持快速最近邻居搜索。对于关于kd树的更多信息,见1990年Proceedingsof the Sixth Annual Symposium on Computational Geometry上第187-197页由Jon Louis Bentley所写的“K-d trees for SemidynamicPoint Sets”。
先前描述的基本插值处理对于所提取特征数量密集的文档区域工作得相当好。然而,当两个密集的区域被一个稀疏的区域隔开时,突然的变化而不是平滑的插值可以通过该稀疏的区域显示出来。完全平滑的插值是不期望的,因为当一个文档部分遮挡了另一个文档时,它会导致不正确的结果。另一方面,当所讨论的所有区域是同一个文档的部分时,不连续性也是不期望的。
因此,利用指数函数作为权重函数的基础可以允许对这种行为的部分实现。这限制了正常条件下矢量对搜索邻域的缺省半径的影响。
插值处理也实现了基本的异常值去除。一旦插值对象存储了所有已知的矢量,则每个矢量都从该插值对象除去,并且查询该对象来获得在那个点处的插入值。如果实际的矢量和插值的矢量的角度差超过某个阈值,则该矢量不加回到插值对象。阈值可以是1°,这确保用于展开的所有矢量都与围绕它的那些矢量一致。由于不正确特征提取造成的矢量中的大部分错误都被除去了。这种方法可能导致太平滑,因为它阻止矢量中的突然变化。
以下描述插值的优选实施例。这种插值器创建步骤130是基于将两维表面拟合到矢量域。从n次多项式函数开始,最小二乘误差方法用于将表面拟合到水平和垂直矢量域。由于Runge现象,这些函数在图像的边缘可能振荡。这个问题可以通过用两维三次多项式样条替代高次多项式来解决。
关于垂直插值,在找到一些表示到文档垂直曲率的正切的垂直笔划之后,可以插入跨图像的这种信息。在本实施例中,垂直插值是通过构造最好地近似垂直数据的平滑连续函数来执行的。
关于角度,垂直笔划数据可以表示为与其坐标耦合的每个垂直笔划的角度。因为构成基本操作(例如,找平均值)的关于角度的模运算,这种表示可能是复杂的。这个问题可以通过假设所有角度都在文档的平均水平和平均垂直角度的加或减90°之内(分别对于正切和垂直矢量域)来解决。所有角度都被移到这些范围中,并且假设表面将不包含这些范围之外的任何角度。这种假设对于沿任何方向都没有弯曲超过90°的任何文档都是成立的。
一旦角度被约束到适当的范围内,它们就可以当做正规数据(regular data)来对待,而不用担心模运算。
关于水平插值,拟合到文本行的顶部和底部的样条遵循文档的水平曲率。在每个像素处正切的角度可以提取到样条,而且可以构造最好地近似这种水平正切数据的平滑连续函数。就象关于垂直插值一样,角度首先移到适当的范围中,然后作为正规数据对待。这种范围是通过对垂直角度范围加90°来获得的。
下一步是找出最好地近似这种数据的插值函数。本实施例数据的显著特性是它不是在栅格上定义的,而是跨图像散开。首先,两维高次多项式可以用作插值函数。然后,薄板样条可以作为可选的插值技术来对待,该技术可以更好地处理非栅格化数据。
关于2D多项式,目的是利用最小二乘法将n次多项式拟合到数据。设立等式的超定(over-determined)线性系统,以便找到多项式的系数。多项式具有的形式。在具有坐标(xi,yi)和角度θi的每个数据点,可以获得等式p(xi,yi)=θi,其中系数aj是未知的。对M个数据点中的每一个重复这个过程,可以获得具有N个等式和(n+1)2个未知数的等式的线性系统。发现n=10和n=30分别对于垂直和水平数据是足够的。近似地可以期望N=10000个数据点,因此这产生了超定的系统。在本实施例中,Matlab中的反斜杠运算符用于求解超定的系统,因为最小二乘误差方法对于n>20具有数字不稳定性问题。
这里的目的是找出关于n次多项式的常数,该常数最小化在所有数据点得到的误差之和。误差函数可以写成E=∑i(θi-p(xi,yi))2,其中该和跨所有数据点p(xi,yi),每个点都有与其关联的角度θi,而且p是n次的未知多项式函数。如果函数有常数ai、...、a(n+1) 2,则期望关于那些常数来最小化误差。因此,令对所有ai都有dE/dai=0,可以获得具有n个未知数的n等式系统。它也碰巧是线性系统。因此,需要求解的是对于包含系数aj的未知矢量x的Mx=b。M是n×n的矩阵,而b是长度为n的矢量。矩阵M碰巧是对称正定的,因此系统可以通过使用Cholesky因式分解来求解,并由此获得多项式的系数。
如果多项式呈现出Runge现象并开始围绕图像的边缘剧烈振荡,尤其是当图像在中心之外的数据稀疏的时候,这可以通过将文档划分成栅格并在每个没有数据的栅格单元中添加包含该文档角度的数据点来解决。
可选地,两维三次样条插值可以用作高次多项式插值,因为它避免了Runge现象。Matlab的2D三次样条函数只可以在栅格化的数据上使用。应当找到关于栅格的值,使得在该栅格上生成的三次样条可以最好地近似数据。
在本实施例中,10×10的栅格用于垂直插值,而30×30的栅格用于水平插值,以获得更精细的分辨率。需要产生一组n2个样条基函数ei,这些函数是在n×n栅格上的样条,该栅格在第i个单元中包含1,其它都是0。在第i个单元中包含值ai的n×n栅格上的样条等于∑iaiei。用于该样条的误差函数是
其中是处的角度。
期望找到最小化误差函数的系数ai。然而,如果有不包含任何数据的栅格单元,则那些单元中的样条行为可能不受约束。因此,在本实施例中,小的约束项添加到误差函数。这使得系数ai(该系数是在没有数据点的栅格单元i处)等于i的四个相邻栅格单元的aj的平均系数。在一个实施例中,e设置成稍高,以便还约束包含很少数据点的单元。新的误差函数可以写成:
这产生超定的线性等式系统。在一个实施例中,这种系统是利用Matlab求解的。最后,在第i个单元中有值ai的这种栅格上的样条产生并可用于插值原始数据。
3.2.栅格建立与展开
在本实施例中,栅格建立与展开步骤132涉及建立具有以下属性的栅格。(1)所有栅格单元都是四边形的。(2)栅格单元的四个角部必须与所有紧挨着的邻居共享。(3)每个栅格单元都小到足以使文档在该单元中的局部曲率是大致恒定的。(4)栅格单元的侧边必须与正切或者法向矢量平行。(5)跨卷曲的图像的每个栅格单元对应于原始文档中固定大小的方形。
处理以在图像的中心放置任意的栅格单元开始。该栅格单元旋转,直到其满足以上的第四条标准。然后,栅格单元可以利用已知的栅格单元向外建立,来固定要建立的栅格单元的两个或者三个角部点。最后一个点可以通过查询插值对象以获得该位置处的正切和法向矢量然后沿该方向步进来计算。
在大多数情况下,要建立的栅格单元的三个角部点是已经知道的。因此,要建立的栅格单元的两个侧边可以精确地在一个点处相交,这可以用来确定要建立的栅格单元的第四个角部点。当要建立的栅格单元是直接从中心单元水平或垂直地添加的时候,只有两个角部点是已知的。在这种情况下,该处理会有点任意。
如果很好地解决了与栅格建立处理关联的两个问题,则栅格建立与展开步骤132可以更好地执行。当需要确定水平拉伸文本多少及在什么地方拉伸的时候,第一个问题出现。一旦正切矢量和垂直笔划被正确地识别出来,文档就可以利用直的文本行展开。然而,除非文本字符沿每个文本行水平地拉伸不同的程度,否则文本可能看起来不够美观。关于照相机弯曲的页面部分上的文本字符将看起来是水平变形的,具有变窄的宽度。而纸张相对平的部分上的文本字符将看起来是正常的。在一个实施例中,当文本的水平拉伸本质具有非常准确的正切和法向矢量时,测试并校正这种拉伸的附加代码可以用于解决这种问题。
第二个问题是栅格建立处理从某个中心单元向外建立栅格。这意味着正切和垂直笔划中任何小的误差都将向外传播通过整个栅格。栅格建立处理中早期的小误差会造成大的栅格建立误差,从而异常地扩展或者收缩栅格单元。在一个实施例中,建立多个栅格单元可以用于解决这个问题。
3.3.基于优化的展开
可选地,基于优化的展开步骤134可以作为最后的展开变换步骤106来执行。基于优化的展开步骤134找到确定输出图像中的每个像素应当从原始图像的什么地方采样的映射。展开功能以全局方式计算该映射,从而将其与栅格建立区分开。
在本实施例中,基于优化的展开步骤134是在两个步骤中执行的。首先,考虑输入图像中像素的多个子集,并确定这些像素应当映射到输出图像的什么地方。这些像素称为控制点。该问题构造为优化问题,该问题指定理想解的属性并搜索解空间以获得最优解。
第二,一旦在输入图像中获得了一组控制点,平滑插值就可以跨它们执行,以确定原始图像中的每个点应当映射到什么地方。这从文本特征确定了原始图像的自然拉伸。插值可以利用薄板样条来实现。
为了构造优化函数,首先找到原始图像中一组很容易映射到输出图像的点。如果这组点贯穿输入图像良好地分布则更好。在本实施例中,选择沿每个文本行均匀隔开的固定数量的点。
优化问题可以设置成找出这些点应当映射到输出图像的什么地方。优化问题包括估计可能的点映射中的误差的误差函数。这个误差函数也称为目标函数。在一个实施例中,Matlab用于最小化优化问题中误差的标准方法的实现可以用于找到最优解。
目标函数考虑文本行的几个属性,以便计算可能的点映射的误差。例如,在好的映射中,同一文本行中的所有点都沿一条直线,相邻的文本行都均匀地隔开,而文本行是左对齐的。
一旦目标函数已经用于确定控制点从输出图像到输入图像的映射,薄板样条就可以用于插值用于其它像素的映射。
在本实施例中,通过将图像变换建模为薄板样条,这些控制点的映射用于产生用于整个图像的映射。薄板样条是插值在两个维度中出现的离散数据的参数化函数族。它们通常在图像处理中用于表示非严格的变形。薄板样条的几个属性使得它们对于基于优化的展开是理想的。最重要的是,它们平滑地插值了离散的数据。大多数其它的两维数据拟合方法或者不严格地插值或者需要数据出现在一个栅格上。
通用样条是参数化的函数族,设计成通过最小化函数的误差测量和粗糙度测量的加权平均值来创建在离散的数据点匹配数据值的平滑函数。(见2006年MathWork公司由Carl de Boor所写的“SplinesToolbox User’s Guide”,该文献通过引用并入于此。)误差的测量是在数据点处的最小二乘误差。对于在R2出现的标量数据,函数可以看作是三维形状。函数粗糙度的一个可能测量是由金属薄板的弯曲能量的物理模拟来定义的:
通过最小化粗糙度与误差测量之和,样条匹配具有最小量曲率的数据。
薄板样条是以旋转不变性解决这个最小化问题的函数族。这个族可以表示为中心在数据点处的径向基函数加上定义平面的线性项之和。径向基函数是其在R2的值围绕原点径向对称的函数,因此用于薄板样条的径向基函数是拟合到位于{xi}的n个控制点的薄板样条f(x)具有形式:
其中a、b、c和ki是一组n+3个常数。
薄板样条是折衷误差与粗糙度的通用平滑函数。通过允许关于误差测量的权重接近1而且关于粗糙度测量的权重接近0,可以恢复严格的插值。这等价于只试图最小化粗糙度,而误差为零。对这个更窄问题的通用解也是薄板样条。(见2008年http://mathworld.wolfram.com/ThinPlateSpline.html上由Serge Belongie所写的“Thin Plate Splines”,该文献通过引用并入于此。)找出用于给定数据集的恒定权重的特定问题可以降至确定的线性等式系统。(见2006年MathWorks公司由Carl de Boor所写的“Splines ToolboxUser’s Guide”,该文献通过引用并入于此。)以下讨论使用严格插值薄板样条的原因。
尽管薄板样条最初是为标量数据设计的,但是它们可以一般化到矢量数据值。通过独立地假设数据行为的两个维度,每个坐标可以利用其自己的独立标量薄板样条函数来建模。当在图像处理应用中使用这种薄板样条时,这是通常所采用的方法。(见1999年Advances inComputational Mathematics第11卷第211-227页由Cedric A.Zala和Ian Barrodale所写的“Warping Aerial Photographs to OrthomapsUsing Thin Plate Splines”,该文献通过引用并入于此。)通过使用薄板样条插值用于所有其它点的映射,从一个两维图像到另一个的映射可以唯一地由某个控制点定义,其中该控制点在两个图像中的位置都是已知的。这些控制点是由优化问题找到的。为输入图像中的x和y坐标生成两个薄板样条,然后在输出图像中的每个点处评估,以便找到输入图像中对应的像素。
因为输入和输出图像中的控制点是相同的数据类型,即在R2中的点,所以有可能使用薄板样条来定义任何一个方向中的变换。在前向映射(forward mapping)处理中,输入图像中的控制点可以用作数据站,而输出图像中的控制点可以是数据值。评估输入图像中一个像素处的薄板样条,就可以获得该像素映射到输出图像中的位置。当其用于离散的图像矩阵时,这种变换可能会有问题。总得来说,所有的输出位置都会是不合理的实数,而不是整数,因此精确的像素对应性将是不清楚的。更重要的是,如果变换挤压或者拉伸了输入图像,则几个像素可能映射到相同的点,或者输出图像中的几个区域可能落在由原始映射的像素之间。
在本实施例中,采用逆映射而不是前向映射来避免在输出图像中具有未定义像素的问题。在逆映射处理中,输出图像中的控制点是数据站,而输入图像中的控制点是数据值。评估输出图像中像素位置处的薄板样条会返回输入图像中从其映射的像素。非整数答案可以解释为四个围绕的整数点的距离加权平均值。因为图像矩阵中的每个像素都可以从一个薄板样条评估中明确地定义,所以一旦获得了样条函数,产生输出图像就是直接的。
对于大量的控制点,产生并评估薄板样条在计算上会是繁重的。有些方法可以用于加速这个处理,当用于文本文档时,这些方法对结果产生的图像有最小的影响。第一种方法是通过将图像分成多个块并为每个块产生单独的薄板样条函数来减少每个薄板样条的控制点个数。图像可以分成尺寸递归地变化的多个块,以便限制每个样条中控制点的最大个数。运行时间对这个参数不是非常敏感。然而,当控制点的个数超过728时,Matlab使用一种慢得多的迭代算法(见2006年MathWorks公司由Carl de Boor所写的“Splines Toolbox User’sGuide”,该文献通过引用并入于此)。在本实施例中,控制点的最大个数限定到500。
图像的每个部分都被展开,而且这些部分联系到一起,形成完整的输出图像。总得来说,当以这种方式使用时,薄板样条在边界是不连续的。然而,优化模型创建了趋于整洁地对齐的段。对每一块的展开使用来自其面积大约为实际输出图像的面积两倍大的区域的控制点。由于控制点在一块文本上很均匀地隔开,因此两个相邻的段将共享靠近它们公共边界的大量控制点。通过要求薄板样条严格地插值拟合,两个变换在这个边界的邻域对应得非常好。尽管不是精确的对应,但其差别通常远小于一个像素,从而在输出图像中不会产生可见的假象。
如果进一步的测试显示段本身没有正确地对齐,则有可能通过使用来自一个段的样本作为用于另一个的控制点来强制它们这么做。沿另一个段的边界以规则的间隔评估一个段的薄板样条,并使用结果作为用于第二个段的控制点,将使得两个函数在所采样的点上精确地一致,而且插值应当使它们沿整个边界匹配。这么做的一个潜在缺点是其结果可能依赖于段展开的次序。两个段具有不同的展开,但只有它们中的一个被改变以便与另一个相配,因此次序将影响输出图像。另一个选项是研究标准的图像拼接(image-mosaicking)算法。这些算法中的大部分也使用薄板样条算法,因此它们有可能实现为段变换的一部分,而不是作为后处理效果来实现。
第二个改进只影响薄板样条的评估,而不影响生成。对n个控制点评估薄板样条需要找到n个欧几里得距离和n个对数。对图像中的每单个像素执行这种计算是极慢的。这可以被忽略。如果文档变形不太严重,则薄板样条将也不会有剧烈的局部变化。评估薄板样条的结果是有序对的栅格,示出了像素应当从原始图像中的什么地方采样。这种栅格的准确近似可以通过每几个像素评估薄板样条并在栅格剩余部分用简单的线性插值填充来获得。在实践当中,变换足够简单,使得局部线性近似对于邻域的几个像素是准确的。每十个像素采样薄板样条将必要的样条评估的个数减少了两个数量级,而对正常的文本文档没有明显的可见假象。由于十个像素大约是可识别字符的最小值,而且特征检测步骤假定曲率大于单个字符,因此这种近似不应当不利地影响展开。通过组合这两种优化,在Matlab中利用一到二分钟左右的运行时间,可以对标准大小的图像获得薄板样条变换。
利用优化方法展开的样本图像280在图11中示出。控制点286以深色的点标记,而将被水平对齐的点282、288的那些集合以浅色的点标记。这个图像280包含具有高密度的左右对齐文本的那种文档。
如图12中所示,优化展开方法的输出214应用到样本图像。文本行已经大部分拉直,而且列也左右对齐了。对齐中的不完美是由于我们对准的点是以不一定对每行都一致的方式位于第一个和最后一个文本字符中的某个地方的事实。我们拟合到列边界的样条可以用于获得要对齐的更好的点集。
对栅格建立和展开步骤132有几种其它的可选方法。一种可选方法是对整个图像应用一系列基本变换,以便校正各种类型的卷曲。这种方法将允许控制要应用哪种变换,从而确切地指定我们应当校正什么类型的卷曲。然而,这也是有限制的,因为只有在原始变形可以表示为这些基本变换的某种组合的时候,图像才可以被校正。为了更平滑的展开,这种方法还可以迭代地应用。
另一种可选方法是跨整个页面在文本行样条之间拟合样条,利用样条来采样用于输出图像的像素。每个样条将表示输出图像中的一个水平的像素行。这种方法可以得益于利用样条之间的全局优化,使得样条彼此相对一致。
另一种可选方法是重新构造3D中的表面并利用诸如Brown和Seals中所讨论的质量弹簧系统的思想将表面变平。(见2004年10月IEEE Transactions on Pattern Analysis and Machine Intelligence第26卷第10期第1295-1306页由Michael S.BROWN和W.Brent SEALES所写的“Image Restoration of Arbitrarily Warped Document”,该文献通过引用并入于此。)
在此所述用于处理所捕捉到的图像的方法可以应用到任何类型的处理应用,而且(无限制地)尤其很好地适于基于计算机的用于处理所捕捉到的图像的应用。在此所述的方法可以以硬件电路、计算机软件或者硬件电路与计算机软件的组合实现,而且不限于特定的硬件或软件实现。
图13是例示计算机系统1300的框图,以上所述本发明的实施例可以在该系统上实现。计算机系统1300包括用于传送信息的总线1345或者其它通信机构,及与总线1345耦接的用于处理信息的处理器1335。计算机系统1300还包括耦接到总线1345的用于存储信息和要由处理器1335执行的指令的主存储器1320,例如随机存取存储器(RAM)或者其它动态存储设备。主存储器1320还可用于存储在执行要由处理器1335执行的指令期间的临时变量或其他中间信息。计算机系统1300还包括耦接到总线1345的用于存储用于处理器1335的静态信息和指令的只读存储器(ROM)1325或者其它静态存储设备。存储设备1330(例如,磁盘或者光盘)被提供并耦接到总线1345,用于存储信息和指令。
计算机系统1300可以通过总线1345耦接到用于向计算机用户显示信息的显示器1305(例如,阴极射线管(CRT))。包括字母数字和其它键的输入设备1310耦接到总线1345,用于向处理器1335传送信息和命令选择。另一种类型的用户输入设备是游标控制器1315,例如鼠标、轨迹球或者游标方向键,用于向处理器1335传送方向信息和命令选择,还用于控制显示器1305上的游标运动。这种输入设备一般在两个轴(第一个轴(例如,x)和第二个轴(例如,y))中有两个自由度,从而允许设备指定平面中的位置。
在此所述的方法关于计算机系统1300对处理所捕捉到的图像的使用。根据一个实施例,对所捕捉到的图像的处理是由计算机系统1300响应于处理器1335执行主存储器1320中所包含的一个或多个指令的一个或多个序列来提供的。这种指令可以从另一个计算机可读介质(例如,存储设备1330)读到主存储器1320中。主存储器1320中所包含的指令序列的执行使得处理器1335执行在此所述的处理步骤。也可以采用多处理布置中的一个或多个处理器,来执行主存储器1320中所包含的指令序列。在可选实施例中,硬连线的电路可以代替或者与软件指令组合使用,来实现在此所述的实施例。因此,在此所述的实施例不限于硬件电路与软件的任何特定组合。
在此所使用的术语“计算机可读介质”指参与向处理器1335提供指令用以执行的任何介质。这种介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,例如存储设备1330。易失性介质包括动态存储器,例如主存储器1320。传输介质包括同轴线缆、铜线和光纤,包括包含总线1345的电线。传输介质还可以采取声波或光波的形式,例如在无线电波和红外线数据通信过程中所产生的那些。
计算机可读介质的普通形式包括例如软盘、柔性盘、硬盘、磁带或者任何其它磁性介质、CD-ROM、任何其它光学介质、穿孔卡片、纸带、任何其它具有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、任何其它存储器芯片或盒式磁带、如下文所述的载波或者任何其它计算机可以读取的介质。
各种形式的计算机可读介质可以涉及将一个或多个指令的一个或多个序列载带到处理器1335用以执行。例如,指令最初可以在远程计算机的磁盘上携带。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器经电话线发送该指令。计算机系统1300本地的调制解调器可以在电话线上接收数据,并使用红外线发送器将数据转换成红外线信号。耦接到总线1345的红外线检测器可以接收红外线信号中所载带的数据并将数据放到总线1345上。总线1345将数据带到主存储器1320,处理器1335从主存储器1320检索并执行指令。由主存储器1320接收的指令可以可选地在被处理器1335执行之前或者之后存储在存储设备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都使用电、电磁或光信号来载带数字数据流。通过各种网络的信号和网络链路1375上及通过通信接口1340的信号(它们载送数字数据到计算机系统1300,并载送来自计算机系统1300的数字数据)是运输信息的载波的示例形式。
计算机系统1300可以通过网络、网络链路1375和通信接口1340发送消息并接收数据,包括程序代码。在互联网例子中,服务器1370可能通过互联网1360、ISP 1365、本地网络1355和通信接口1340发送用于应用程序的所请求代码。如下所述,根据本发明,一个这样的下载应用程序用于处理所捕捉的图像。
所接收到的代码可以在其被接收的时候由处理器1335处理,和/或存储在存储设备1330或者其它非易失性存储器中用以日后执行。以这种方式,计算机系统1300可以获得载波形式的应用代码。
尽管已经使用例子公开了本发明,包括最佳模式,而且例子还使得本领域任何技术人员都可以制造并使用本发明,但是本发明的专利范围是由权利要求定义的,而且可以包括本领域技术人员可以想到的其它例子。因此,在此所公开的例子被认为是非限制性的。实际上,预期在此所公开的特征的任何组合都可以无限制地与在此所公开的其它特征的任何其它组合相组合。
此外,尽管为了清晰而借助于特定的术语,但本发明不是要限定到这么选择的特定术语,而且应当理解每个特定术语都包括所有的等同物。
还应当理解,在此所述的图像处理可以在软件或硬件中体现,而且可以通过能够进行在此所述的对捕捉图像的处理的计算机系统实现。
Claims (20)
1.一种用于处理包含文本行的拍照文档的数字图像的方法,其中文本行包括具有垂直笔划的文本字符,该方法包括:
(a)利用像素归一化的阈值处理来执行对数字图像的二元化,以便识别数字图像中构成文档的文本的像素;
(b)检测指示文本朝向的排版特征;
(c)将样条拟合到文本行的顶部和底部;
(d)利用与文本行的方向平行的矢量和与垂直笔划的方向平行的矢量建立四边形的栅格;
(e)通过拉伸图像使得平行于文本行的矢量和平行于垂直笔划的方向的矢量变得正交,来展开文档;及
(f)利用光学字符识别软件来处理展开的文档。
2.如权利要求1所述的方法,其中二元化处理包括假象去除步骤,即,如果一个黑像素的连接区域超过最大面积参数的话,则该假象去除步骤丢弃整个黑像素的连接区域。
3.如权利要求1所述的方法,其中二元化处理包括假象去除步骤,即,如果一个黑像素的连接区域小于最小面积参数的话,则该假象去除步骤丢弃整个黑像素的连接区域。
4.一种用于处理包含文本行的拍照文档的数字图像的方法,其中文本行包括具有垂直笔划及顶部端点和底部端点的文本字符,该方法包括:
(a)检测文本行的顶部端点和底部端点;
(b)对于每个文本行,将样条拟合到顶部端点,并将样条拟合到底部端点;
(c)通过区分文本行的顶部部分和底部部分,确定拍照图像的页面朝向;
(d)为每个文本行计算近似的朝向,并除去文本行中的异常值;
(e)通过确定文本行的起点或者终点是否对齐,找出垂直段落边界;
(f)通过沿局部垂直方向扫描来检测文本字符中的垂直笔划,以便在文本行的质心样条与文本字符的文本像素的每个相交点处获得垂直像素块;
(g)利用与文本行的方向平行的矢量和与垂直笔划的方向平行的矢量,建立四边形的栅格;及
(h)通过拉伸图像使得平行于文本行的矢量和平行于垂直笔划的方向的矢量变得正交,来展开文档。
5.如权利要求4所述的方法,其中通过区分文本行的顶部部分和底部部分来确定拍照图像的页面朝向的步骤还包括:选择文本行的代表性样本并且对样本中的每个文本行检测哪一侧有更多的异常值,其中样本的长度接近所有文本行的中值长度。
6.一种用于处理包含成像文档的拍照图像的方法,其中成像文档包含文本行,文本行包括具有垂直笔划的文本字符,该方法包括:
(a)检测指示成像文档中文本朝向的排版特征;
(b)将样条拟合到成像文档中的一个或多个文本行的顶部和底部;
(c)利用与文本行的方向平行的矢量和与垂直笔划的方向平行的矢量建立四边形的栅格;及
(d)通过为展开的输出图像中的每个像素位置计算其在拍照图像中的成像文档中的对应位置,并通过使用靠近成像文档中该对应位置的一个或多个像素计算其像素颜色和/或强度,来展开拍照图像中的成像文档。
7.如权利要求6所述的方法,其中步骤(d)中拍照图像中的成像文档中的所述对应位置是通过利用一个数学函数建模其x坐标并用另一个数学函数建模其y坐标来计算的。
8.如权利要求7所述的方法,其中这两个数学函数是利用薄板样条技术产生的。
9.如权利要求6所述的方法,其中用于每个像素位置的对应性的计算之前还要生成控制点,其中对应性是针对像素位置的子集计算的。
10.如权利要求9所述的方法,其中像素位置的子集包括位于一个或多个文本行上的一个或多个点。
11.如权利要求9所述的方法,其中像素位置的子集包括一个或多个文本行的左终点和右终点。
12.如权利要求6所述的方法,其中输出像素的颜色和/或强度是从输入图像中四个最近的像素计算的。
13.一种用于处理包含文本行的拍照文档的数字图像的方法,其中文本行包括具有端点和垂直笔划的文本字符,该方法包括:
(a)通过在数字图像中找出对应于文本字符的像素集并创建只包含所述像素集的二元图像来检测文本区域,其中该像素集分组成字符区域,字符区域又分组成文本行;
(b)通过识别文本字符的端点和垂直笔划来检测数字图像中的拍照文档的形状;
(c)通过区分文本行的顶部部分和底部部分来检测数字图像中的拍照文档的朝向;及
(d)基于栅格建立处理将数字图像变换成该拍照文档的新数字图像,在栅格建立处理中所识别出的端点和垂直笔划用作识别文档卷曲的基础。
14.如权利要求13所述的方法,其中检测形状步骤将样条拟合到文本行的顶部和底部,以便近似原始的文档形状。
15.如权利要求13所述的方法,其中检测文本区域步骤还包括以下步骤:
(a1)通过标准的和/或者简单的阈值处理方法来估计前景文本;
(a2)从原始图像中除去这些前景像素;
(a3)通过从剩余的值进行插值来填充由于去除而留下的洞,这通过除去初始的阈值处理并在洞上插值提供了对背景的新估计;及
(a4)基于背景的改进的估计来进行阈值处理。
16.如权利要求13所述的方法,其中变换步骤依赖于栅格建立处理,在栅格建立处理中提取出的特征用作识别文档卷曲的基础。
17.如权利要求13所述的方法,其中变换步骤依赖于优化问题。
18.一种用于处理包含文本行的拍照文档的数字图像的计算机系统,其中文本行包括具有垂直笔划的文本字符,该计算机系统包括:
用于利用像素归一化的阈值处理来执行二元化,以便识别图像中构成文档的文本的像素的装置;
用于检测指示文本朝向的排版特征的装置;
用于将样条拟合到文本行的顶部和底部的装置;
用于利用与文本行的方向平行的矢量和与垂直笔划的方向平行的矢量建立四边形的栅格的装置;
用于通过拉伸图像使得平行于文本行的矢量和平行于垂直笔划的方向的矢量变得正交,来展开文档的装置;及
用于利用光学字符识别软件来处理展开的文档的装置。
19.一种用于处理包含文本行的拍照文档的数字图像的计算机系统,其中文本行包括具有垂直笔划的文本字符,该计算机系统包括:
用于检测文本行的顶部端点和底部端点的装置;
用于对于每个文本行,将样条拟合到顶部端点,并将样条拟合到底部端点的装置;
用于通过区分文本行的顶部部分和底部部分,确定拍照图像的页面朝向的装置;
用于为每个文本行计算近似的朝向,并除去文本行中的异常值的装置;
用于通过确定文本行的起点或者终点是否对齐,找出垂直段落边界的装置;
用于通过沿局部垂直方向扫描来检测文本字符中的垂直笔划,以便在文本行的质心样条与文本字符的文本像素的每个相交点处获得垂直像素块的装置;
用于利用与文本行的方向平行的矢量和与垂直笔划的方向平行的矢量,建立四边形的栅格的装置;及
用于通过拉伸图像使得平行于文本行的矢量和平行于垂直笔划的方向的矢量变得正交,来展开文档的装置。
20.一种用于处理包含文本行的拍照文档的数字图像的计算机系统,其中文本行包括具有垂直笔划的文本字符,该计算机系统包括:
用于通过在数字图像中找出对应于文本字符的像素集并创建只包含所述像素集的二元图像来检测文本区域的装置,其中该像素集分组成字符区域,字符区域又分组成文本行;
用于通过识别文本字符的端点和垂直笔划来检测形状的装置;
用于通过区分文本行的顶部部分和底部部分来检测拍照文档的朝向的装置;及
用于基于栅格建立处理将数字图像变换成该拍照文档的新数字图像的装置,在栅格建立处理中所识别出的端点和垂直笔划用作识别文档卷曲的基础。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12678108P | 2008-05-06 | 2008-05-06 | |
US12677908P | 2008-05-06 | 2008-05-06 | |
US61/126,781 | 2008-05-06 | ||
US61/126,779 | 2008-05-06 | ||
PCT/US2009/002830 WO2009137073A1 (en) | 2008-05-06 | 2009-05-06 | Camera-based document imaging |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102084378A CN102084378A (zh) | 2011-06-01 |
CN102084378B true CN102084378B (zh) | 2014-08-27 |
Family
ID=41264891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980125859.2A Active CN102084378B (zh) | 2008-05-06 | 2009-05-06 | 基于照相机的文档成像 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20100073735A1 (zh) |
CN (1) | CN102084378B (zh) |
GB (1) | GB2472179B (zh) |
WO (2) | WO2009137073A1 (zh) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7810026B1 (en) | 2006-09-29 | 2010-10-05 | Amazon Technologies, Inc. | Optimizing typographical content for transmission and display |
US7953268B2 (en) * | 2008-01-18 | 2011-05-31 | Mitek Systems, Inc. | Methods for mobile image capture and processing of documents |
US9842331B2 (en) | 2008-01-18 | 2017-12-12 | Mitek Systems, Inc. | Systems and methods for mobile image capture and processing of checks |
US10685223B2 (en) | 2008-01-18 | 2020-06-16 | Mitek Systems, Inc. | Systems and methods for mobile image capture and content processing of driver's licenses |
US8582862B2 (en) | 2010-05-12 | 2013-11-12 | Mitek Systems | Mobile image quality assurance in mobile document image processing applications |
US10102583B2 (en) | 2008-01-18 | 2018-10-16 | Mitek Systems, Inc. | System and methods for obtaining insurance offers using mobile image capture |
US8577118B2 (en) * | 2008-01-18 | 2013-11-05 | Mitek Systems | Systems for mobile image capture and remittance processing |
US9298979B2 (en) | 2008-01-18 | 2016-03-29 | Mitek Systems, Inc. | Systems and methods for mobile image capture and content processing of driver's licenses |
US8983170B2 (en) | 2008-01-18 | 2015-03-17 | Mitek Systems, Inc. | Systems and methods for developing and verifying image processing standards for mobile deposit |
US20130085935A1 (en) | 2008-01-18 | 2013-04-04 | Mitek Systems | Systems and methods for mobile image capture and remittance processing |
US10528925B2 (en) | 2008-01-18 | 2020-01-07 | Mitek Systems, Inc. | Systems and methods for mobile automated clearing house enrollment |
US8311331B2 (en) | 2010-03-09 | 2012-11-13 | Microsoft Corporation | Resolution adjustment of an image that includes text undergoing an OCR process |
US9208393B2 (en) | 2010-05-12 | 2015-12-08 | Mitek Systems, Inc. | Mobile image quality assurance in mobile document image processing applications |
US10891475B2 (en) | 2010-05-12 | 2021-01-12 | Mitek Systems, Inc. | Systems and methods for enrollment and identity management using mobile imaging |
US8995012B2 (en) | 2010-11-05 | 2015-03-31 | Rdm Corporation | System for mobile image capture and processing of financial documents |
CN102063621B (zh) * | 2010-11-30 | 2013-01-09 | 汉王科技股份有限公司 | 文字行几何畸变校正方法和装置 |
US20120183182A1 (en) * | 2011-01-14 | 2012-07-19 | Pramod Kumar | Integrated capture and analysis of documents |
CN102254171A (zh) * | 2011-07-13 | 2011-11-23 | 北京大学 | 一种基于文本边界的中文文档图像畸变校正方法 |
US8942484B2 (en) * | 2011-09-06 | 2015-01-27 | Qualcomm Incorporated | Text detection using image regions |
US9734132B1 (en) * | 2011-12-20 | 2017-08-15 | Amazon Technologies, Inc. | Alignment and reflow of displayed character images |
CN102622593B (zh) * | 2012-02-10 | 2014-05-14 | 北方工业大学 | 一种文本识别方法及系统 |
US9992471B2 (en) * | 2012-03-15 | 2018-06-05 | Fuji Xerox Co., Ltd. | Generating hi-res dewarped book images |
US8773731B2 (en) | 2012-04-17 | 2014-07-08 | uFollowit, Inc. | Method for capturing high-quality document images |
US8817339B2 (en) | 2012-08-22 | 2014-08-26 | Top Image Systems Ltd. | Handheld device document imaging |
US8855419B2 (en) | 2012-11-20 | 2014-10-07 | Eastman Kodak Company | Image rectification using an orientation vector field |
US8787695B2 (en) | 2012-11-20 | 2014-07-22 | Eastman Kodak Company | Image rectification using text line tracks |
US9008444B2 (en) | 2012-11-20 | 2015-04-14 | Eastman Kodak Company | Image rectification using sparsely-distributed local features |
CN102938061A (zh) * | 2012-12-05 | 2013-02-20 | 上海合合信息科技发展有限公司 | 方便电子化的专业笔记本及其页码自动识别方法 |
US20140188701A1 (en) * | 2012-12-28 | 2014-07-03 | Wal-Mart Stores | Mobile Payment Systems And Methods |
US10196850B2 (en) | 2013-01-07 | 2019-02-05 | WexEnergy LLC | Frameless supplemental window for fenestration |
US9845636B2 (en) | 2013-01-07 | 2017-12-19 | WexEnergy LLC | Frameless supplemental window for fenestration |
US10883303B2 (en) | 2013-01-07 | 2021-01-05 | WexEnergy LLC | Frameless supplemental window for fenestration |
US8923650B2 (en) | 2013-01-07 | 2014-12-30 | Wexenergy Innovations Llc | System and method of measuring distances related to an object |
US9691163B2 (en) | 2013-01-07 | 2017-06-27 | Wexenergy Innovations Llc | System and method of measuring distances related to an object utilizing ancillary objects |
US9230339B2 (en) | 2013-01-07 | 2016-01-05 | Wexenergy Innovations Llc | System and method of measuring distances related to an object |
US10963535B2 (en) | 2013-02-19 | 2021-03-30 | Mitek Systems, Inc. | Browser-based mobile image capture |
US20140279323A1 (en) | 2013-03-15 | 2014-09-18 | Mitek Systems, Inc. | Systems and methods for capturing critical fields from a mobile image of a credit card bill |
US9213911B2 (en) * | 2013-03-15 | 2015-12-15 | Orcam Technologies Ltd. | Apparatus, method, and computer readable medium for recognizing text on a curved surface |
US9317893B2 (en) | 2013-03-26 | 2016-04-19 | Sharp Laboratories Of America, Inc. | Methods and systems for correcting a document image |
US9025897B1 (en) * | 2013-04-05 | 2015-05-05 | Accusoft Corporation | Methods and apparatus for adaptive auto image binarization |
US20140307973A1 (en) * | 2013-04-10 | 2014-10-16 | Adobe Systems Incorporated | Text Recognition Techniques |
CN104298982B (zh) * | 2013-07-16 | 2019-03-08 | 深圳市腾讯计算机系统有限公司 | 一种文字识别方法及装置 |
US9171359B1 (en) * | 2013-09-11 | 2015-10-27 | Emc Corporation | Method and system for auto-correcting perspective distortion in document images |
AU2013273778A1 (en) * | 2013-12-20 | 2015-07-09 | Canon Kabushiki Kaisha | Text line fragments for text line analysis |
US9538072B2 (en) | 2013-12-23 | 2017-01-03 | Lenovo (Singapore) Pte. Ltd. | Gesture invoked image capture |
US9355313B2 (en) * | 2014-03-11 | 2016-05-31 | Microsoft Technology Licensing, Llc | Detecting and extracting image document components to create flow document |
US20190251349A1 (en) * | 2014-03-12 | 2019-08-15 | Gary L. Duerksen | System and method for object classification and sorting |
WO2015138820A1 (en) * | 2014-03-12 | 2015-09-17 | ClearMark Systems, LLC | System and method for authentication |
US8923656B1 (en) | 2014-05-09 | 2014-12-30 | Silhouette America, Inc. | Correction of acquired images for cutting pattern creation |
CN105225218B (zh) * | 2014-06-24 | 2018-12-21 | 佳能株式会社 | 用于文档图像的畸变校正方法和设备 |
CN104070834A (zh) * | 2014-06-26 | 2014-10-01 | 余应皇 | 废纸循环复用方法及废纸循环复用打印机 |
US9251614B1 (en) * | 2014-08-29 | 2016-02-02 | Konica Minolta Laboratory U.S.A., Inc. | Background removal for document images |
FR3027136B1 (fr) | 2014-10-10 | 2017-11-10 | Morpho | Procede d'identification d'un signe sur un document deforme |
CN104835120B (zh) * | 2015-04-23 | 2017-07-28 | 天津大学 | 一种基于基准线的弯曲书面展平方法 |
CN104809436B (zh) * | 2015-04-23 | 2017-12-15 | 天津大学 | 一种弯曲书面文字识别方法 |
CN105260997B (zh) * | 2015-09-22 | 2019-02-01 | 北京医拍智能科技有限公司 | 一种自动获取目标图像的方法 |
US10019740B2 (en) | 2015-10-07 | 2018-07-10 | Way2Vat Ltd. | System and methods of an expense management system based upon business document analysis |
US10204299B2 (en) * | 2015-11-04 | 2019-02-12 | Nec Corporation | Unsupervised matching in fine-grained datasets for single-view object reconstruction |
FR3047832B1 (fr) | 2016-02-12 | 2019-09-27 | Idemia Identity And Security | Procede de determination d'une valeur de couleur d'un objet dans une image |
US10068132B2 (en) | 2016-05-25 | 2018-09-04 | Ebay Inc. | Document optical character recognition |
US10121088B2 (en) * | 2016-06-03 | 2018-11-06 | Adobe Systems Incorporated | System and method for straightening curved page content |
CN106127751B (zh) * | 2016-06-20 | 2020-04-14 | 北京小米移动软件有限公司 | 图像检测方法、装置以及系统 |
US10387744B2 (en) | 2016-06-22 | 2019-08-20 | Abbyy Production Llc | Method and system for identifying extended contours within digital images |
US10366469B2 (en) | 2016-06-28 | 2019-07-30 | Abbyy Production Llc | Method and system that efficiently prepares text images for optical-character recognition |
RU2628266C1 (ru) | 2016-07-15 | 2017-08-15 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способ и система подготовки содержащих текст изображений к оптическому распознаванию символов |
JP6173542B1 (ja) * | 2016-08-10 | 2017-08-02 | 株式会社Pfu | 画像処理装置、画像処理方法、および、プログラム |
CN106778739B (zh) * | 2016-12-02 | 2019-06-14 | 中国人民解放军国防科学技术大学 | 一种曲面化变形文本页面图像矫正方法 |
US10607101B1 (en) * | 2016-12-14 | 2020-03-31 | Revenue Management Solutions, Llc | System and method for patterned artifact removal for bitonal images |
US10163007B2 (en) * | 2017-04-27 | 2018-12-25 | Intuit Inc. | Detecting orientation of textual documents on a live camera feed |
CN111247304B (zh) | 2017-05-30 | 2023-01-13 | 韦克斯能源有限责任公司 | 用于窗户配列的无框辅助窗户 |
CN108229471B (zh) * | 2017-12-27 | 2023-10-27 | 南京晓庄学院 | 一种脱机手写体文本的行结构分析方法 |
US10311556B1 (en) | 2018-07-02 | 2019-06-04 | Capital One Services, Llc | Systems and methods for image data processing to remove deformations contained in documents |
US10853639B2 (en) * | 2019-02-23 | 2020-12-01 | ZenPayroll, Inc. | Data extraction from form images |
US11393272B2 (en) | 2019-09-25 | 2022-07-19 | Mitek Systems, Inc. | Systems and methods for updating an image registry for use in fraud detection related to financial documents |
US11164372B2 (en) * | 2019-12-10 | 2021-11-02 | Nvidia Corporation | Polar stroking for vector graphics |
CN111242114B (zh) * | 2020-01-08 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 文字识别方法及装置 |
CN111325203B (zh) * | 2020-01-21 | 2022-07-05 | 福州大学 | 一种基于图像校正的美式车牌识别方法及系统 |
CN111353961B (zh) * | 2020-03-12 | 2023-12-19 | 上海合合信息科技股份有限公司 | 一种文档曲面校正方法及装置 |
WO2021196013A1 (zh) * | 2020-03-31 | 2021-10-07 | 京东方科技集团股份有限公司 | 单词识别方法、设备及存储介质 |
CN113869303B (zh) * | 2020-06-30 | 2024-09-17 | 北京搜狗科技发展有限公司 | 图像处理方法、装置和介质 |
CN111753832B (zh) * | 2020-07-02 | 2023-12-08 | 杭州睿琪软件有限公司 | 图像处理方法、图像处理装置、电子设备和存储介质 |
CN112270656B (zh) * | 2020-09-10 | 2022-02-22 | 成都市精卫鸟科技有限责任公司 | 一种图像校正方法、装置、设备和介质 |
CN112507866B (zh) * | 2020-12-03 | 2021-07-13 | 润联软件系统(深圳)有限公司 | 一种汉字字向量生成方法、装置、计算机设备及存储介质 |
CN112565549A (zh) * | 2020-12-25 | 2021-03-26 | 深圳太极云软技术有限公司 | 一种书册图像扫描方法 |
US11030488B1 (en) | 2020-12-31 | 2021-06-08 | VoyagerX, Inc. | Book scanning using machine-trained model |
US10991081B1 (en) | 2020-12-31 | 2021-04-27 | VoyagerX, Inc. | Book scanning using machine-trained model |
CN113296542B (zh) * | 2021-07-27 | 2021-10-01 | 成都睿铂科技有限责任公司 | 一种航拍拍摄点获取方法及系统 |
CN114359889B (zh) * | 2022-03-14 | 2022-06-21 | 北京智源人工智能研究院 | 一种长文本资料的文本识别方法 |
CN114663287A (zh) * | 2022-04-08 | 2022-06-24 | 民商数字科技(深圳)有限公司 | 基于视觉算法的手机扫描仪的控制方法 |
CN118230333B (zh) * | 2024-05-23 | 2024-07-26 | 安徽安天利信工程管理股份有限公司 | 基于ocr技术的图像预处理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6716175B2 (en) * | 1998-08-25 | 2004-04-06 | University Of Florida | Autonomous boundary detection system for echocardiographic images |
US20070206877A1 (en) * | 2006-03-02 | 2007-09-06 | Minghui Wu | Model-based dewarping method and apparatus |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2991485B2 (ja) * | 1990-11-29 | 1999-12-20 | 株式会社東芝 | 画像処理装置 |
US5280367A (en) * | 1991-05-28 | 1994-01-18 | Hewlett-Packard Company | Automatic separation of text from background in scanned images of complex documents |
US5377019A (en) * | 1991-12-02 | 1994-12-27 | Minolta Co., Ltd. | Document reading apparatus having a function of determining effective document region based on a detected data |
US5515181A (en) * | 1992-03-06 | 1996-05-07 | Fuji Xerox Co., Ltd. | Image reading apparatus providing high quality images through synthesis of segmented image data |
US5818976A (en) * | 1993-10-25 | 1998-10-06 | Visioneer, Inc. | Method and apparatus for document skew and size/shape detection |
JPH0897975A (ja) * | 1994-09-21 | 1996-04-12 | Minolta Co Ltd | 画像読み取り装置 |
US5677776A (en) * | 1994-09-29 | 1997-10-14 | Minolta Co., Ltd. | Image reader for processing an image of a document |
US5831750A (en) * | 1994-11-08 | 1998-11-03 | Minolta Co., Ltd. | Image reader having height distribution correction for a read document |
JP3072236B2 (ja) * | 1994-12-26 | 2000-07-31 | シャープ株式会社 | 画像入力装置 |
US5764228A (en) * | 1995-03-24 | 1998-06-09 | 3Dlabs Inc., Ltd. | Graphics pre-processing and rendering system |
US5585962A (en) * | 1995-06-07 | 1996-12-17 | Amoco Corporation | External resonant frequency mixers based on degenerate and half-degenerate resonators |
JP3436025B2 (ja) * | 1995-12-27 | 2003-08-11 | ミノルタ株式会社 | 読取り画像の修正方法及び画像読取り装置 |
US5764383A (en) * | 1996-05-30 | 1998-06-09 | Xerox Corporation | Platenless book scanner with line buffering to compensate for image skew |
US5742354A (en) * | 1996-06-07 | 1998-04-21 | Ultimatte Corporation | Method for generating non-visible window edges in image compositing systems |
JPH1013669A (ja) * | 1996-06-26 | 1998-01-16 | Minolta Co Ltd | 画像読取り装置におけるデータ処理方法 |
US5848183A (en) * | 1996-11-21 | 1998-12-08 | Xerox Corporation | System and method for generating and utilizing histogram data from a scanned image |
US6806903B1 (en) * | 1997-01-27 | 2004-10-19 | Minolta Co., Ltd. | Image capturing apparatus having a γ-characteristic corrector and/or image geometric distortion correction |
JP3569794B2 (ja) * | 1997-03-18 | 2004-09-29 | ミノルタ株式会社 | 画像読取りシステム |
US5951475A (en) * | 1997-09-25 | 1999-09-14 | International Business Machines Corporation | Methods and apparatus for registering CT-scan data to multiple fluoroscopic images |
JPH11232378A (ja) * | 1997-12-09 | 1999-08-27 | Canon Inc | デジタルカメラ、そのデジタルカメラを用いた文書処理システム、コンピュータ可読の記憶媒体、及び、プログラムコード送出装置 |
US6134346A (en) * | 1998-01-16 | 2000-10-17 | Ultimatte Corp | Method for removing from an image the background surrounding a selected object |
US6847737B1 (en) * | 1998-03-13 | 2005-01-25 | University Of Houston System | Methods for performing DAF data filtering and padding |
US6310984B2 (en) * | 1998-04-09 | 2001-10-30 | Hewlett-Packard Company | Image processing system with image cropping and skew correction |
US6266442B1 (en) * | 1998-10-23 | 2001-07-24 | Facet Technology Corp. | Method and apparatus for identifying objects depicted in a videostream |
US6282326B1 (en) * | 1998-12-14 | 2001-08-28 | Eastman Kodak Company | Artifact removal technique for skew corrected images |
US6630938B1 (en) * | 1999-05-07 | 2003-10-07 | Impact Imaging, Inc. | Image calibration |
US6633332B1 (en) * | 1999-05-13 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Digital camera system and method capable of performing document scans |
US6771834B1 (en) * | 1999-07-02 | 2004-08-03 | Intel Corporation | Method for segmenting a digital image |
EP1067757A1 (en) * | 1999-07-09 | 2001-01-10 | Hewlett-Packard Company | Curled surface imaging system |
US6525741B1 (en) * | 1999-08-30 | 2003-02-25 | Xerox Corporation | Chroma key of antialiased images |
US6640010B2 (en) * | 1999-11-12 | 2003-10-28 | Xerox Corporation | Word-to-word selection on images |
US6763121B1 (en) * | 2000-06-14 | 2004-07-13 | Hewlett-Packard Development Company, L.P. | Halftone watermarking method and system |
US6970592B2 (en) * | 2000-09-04 | 2005-11-29 | Fujitsu Limited | Apparatus and method for correcting distortion of input image |
US6757445B1 (en) * | 2000-10-04 | 2004-06-29 | Pixxures, Inc. | Method and apparatus for producing digital orthophotos using sparse stereo configurations and external models |
US6954290B1 (en) * | 2000-11-09 | 2005-10-11 | International Business Machines Corporation | Method and apparatus to correct distortion of document copies |
US6839463B1 (en) * | 2000-12-22 | 2005-01-04 | Microsoft Corporation | System and method providing subpixel-edge-offset-based determination of opacity |
WO2002088908A2 (en) * | 2001-05-02 | 2002-11-07 | Bitstream Inc. | Methods, systems, and programming for producing and displaying subpixel-optimized font bitmaps using non-linear color balancing |
GB2377333A (en) * | 2001-07-07 | 2003-01-08 | Sharp Kk | Segmenting a pixellated image into foreground and background regions |
US6873732B2 (en) * | 2001-07-09 | 2005-03-29 | Xerox Corporation | Method and apparatus for resolving perspective distortion in a document image and for calculating line sums in images |
WO2003024090A1 (en) * | 2001-09-07 | 2003-03-20 | Koninklijke Philips Electronics N.V. | Image device having camera and image perspective correction and possibly rotation and staggering correction |
DE10156040B4 (de) * | 2001-11-15 | 2005-03-31 | Océ Document Technologies GmbH | Verfahren, Vorrichtung und Computerprogramm-Produkt zum Entzerren einer eingescannten Abbildung |
US6750974B2 (en) * | 2002-04-02 | 2004-06-15 | Gsi Lumonics Corporation | Method and system for 3D imaging of target regions |
JP2004040395A (ja) * | 2002-07-02 | 2004-02-05 | Fujitsu Ltd | 画像歪み補正装置、方法及びプログラム |
US7301564B2 (en) * | 2002-07-17 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Systems and methods for processing a digital captured image |
US7121469B2 (en) * | 2002-11-26 | 2006-10-17 | International Business Machines Corporation | System and method for selective processing of digital images |
WO2005041123A1 (ja) * | 2003-10-24 | 2005-05-06 | Fujitsu Limited | 画像歪み補正プログラム,画像歪み補正装置並びに画像歪み補正方法 |
US6956587B1 (en) * | 2003-10-30 | 2005-10-18 | Microsoft Corporation | Method of automatically cropping and adjusting scanned images |
US7593595B2 (en) * | 2004-08-26 | 2009-09-22 | Compulink Management Center, Inc. | Photographic document imaging system |
US8213687B2 (en) * | 2006-04-28 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Image processing methods, image processing systems, and articles of manufacture |
-
2009
- 2009-05-06 US US12/436,775 patent/US20100073735A1/en not_active Abandoned
- 2009-05-06 WO PCT/US2009/002830 patent/WO2009137073A1/en active Application Filing
- 2009-05-06 CN CN200980125859.2A patent/CN102084378B/zh active Active
- 2009-05-06 GB GB1020669.6A patent/GB2472179B/en not_active Expired - Fee Related
- 2009-05-07 WO PCT/US2009/043057 patent/WO2009137634A1/en active Application Filing
-
2014
- 2014-02-28 US US14/194,390 patent/US20140247470A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6716175B2 (en) * | 1998-08-25 | 2004-04-06 | University Of Florida | Autonomous boundary detection system for echocardiographic images |
US20070206877A1 (en) * | 2006-03-02 | 2007-09-06 | Minghui Wu | Model-based dewarping method and apparatus |
Non-Patent Citations (1)
Title |
---|
Shijian Lu等.Perspective rectification of document images using fuzzy set and morphological operations.《Image and Vision Computing》.2005,541-553. * |
Also Published As
Publication number | Publication date |
---|---|
GB2472179B (en) | 2013-01-30 |
US20100073735A1 (en) | 2010-03-25 |
US20140247470A1 (en) | 2014-09-04 |
GB201020669D0 (en) | 2011-01-19 |
WO2009137073A1 (en) | 2009-11-12 |
WO2009137634A1 (en) | 2009-11-12 |
GB2472179A (en) | 2011-01-26 |
CN102084378A (zh) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102084378B (zh) | 基于照相机的文档成像 | |
CN110032998B (zh) | 自然场景图片的文字检测方法、系统、装置和存储介质 | |
Ren et al. | Unsupervised change detection in satellite images with generative adversarial network | |
CN111126410B (zh) | 字符识别方法、装置、设备及可读存储介质 | |
CN114529925B (zh) | 一种全线表表格结构识别方法 | |
CN115457531A (zh) | 用于识别文本的方法和装置 | |
CN108304357A (zh) | 一种基于字体流形的中文字库自动生成方法 | |
CN108846385B (zh) | 基于卷积-反卷积神经网络的图像识别、校正方法和装置 | |
CN108681735A (zh) | 基于卷积神经网络深度学习模型的光学字符识别方法 | |
CN112364873A (zh) | 弯曲文本图像的文字识别方法、装置及计算机设备 | |
CN106548169A (zh) | 基于深度神经网络的模糊文字增强方法及装置 | |
CN111738055A (zh) | 多类别文本检测系统和基于该系统的票据表单检测方法 | |
CN109002771B (zh) | 一种基于递归神经网络的遥感图像分类方法 | |
CN115661754B (zh) | 一种基于维度融合注意力的行人重识别方法 | |
CN116310452B (zh) | 一种多视图聚类方法及系统 | |
CN110070626B (zh) | 一种基于多视角分类的三维物体检索方法 | |
CN115731550A (zh) | 一种基于深度学习的药品说明书自动识别方法、系统及存储介质 | |
CN116704378A (zh) | 一种基于自生长卷积神经网络的国土测绘数据分类方法 | |
Merciol et al. | Efficient and large-scale land cover classification using multiscale image analysis | |
CN112766082B (zh) | 基于宏微观特征的中文文本笔迹鉴别方法、装置及存储介质 | |
Alsimry et al. | A new approach for finding duplicated words in scanned Arabic documents based on OCR and SURF. | |
JP2012008979A (ja) | 文字列探索方法、文字列探索装置、記録媒体 | |
Graham-Knight | Efficient 2D image segmentation | |
CN116468962B (zh) | 害虫识别方法、装置、设备及介质 | |
Dasari et al. | Integrated approaches for road extraction and de-noising in satellite imagery using probability neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |