从复杂文档进行 OCR 扫描
Posted
技术标签:
【中文标题】从复杂文档进行 OCR 扫描【英文标题】:OCR scanning from complex document 【发布时间】:2012-04-21 05:08:12 【问题描述】:我需要创建一个工具,该工具将使用高质量相机扫描文档中的特定文本块并对其进行 OCR。每个文档都匹配相同的模板,其中包含几个填满数据的表格。我需要从每个扫描文档的一个特定单元格中提取数据。
我需要考虑图像的旋转和微小变换。整个工作流程应该是这样的:
-
文档已“显示”到相机。软件制作文档的图片。
软件会导致一些轻微的旋转和其他转换(由于文档被握在手中,可能会发生轻微的剪切、缩放、旋转)。
软件识别出正在显示的正确模板文档并从特定单元格中提取图像。
然后对图像进行 OCR 处理。
基本上,我不需要最终的解决方案,而是需要一些关于从哪里开始寻找的方向。我知道如何对纯文本进行 OCRing,我不知道如何实现第 2 步和第 3 步。
提前致谢。
【问题讨论】:
您决定文档布局吗?您能否添加一些程序可能会查找的占位符(如十字或类似图案)? 不,我不能。但是,文档总是有白色背景,并且总是与周围的背景高度对比(周围也永远不会是白色的)。所以基本上,白色边框可以用来确定形状。 【参考方案1】:基本上,纯文本的 OCR,尤其是非常好的扫描图像,是一项很好解决的任务。您所描述的更进一步 - 图像预处理和具有数据捕获的字段级识别。据我所知,开源引擎(甚至被认为是其中最好的 tesseract)不提供这样的功能。
同时,专有的 OCR 引擎多年来一直在解决您描述的任务(花费大量人力资源)并且进展非常顺利。所以如果你正在计划一个商业软件,我建议你看看http://ocrsdk.com,它是一个带有 Web API 的云 OCR SDK。它允许您上传图像并将 OCRed 数据发回给您。它已经内置了所有可能的图像预处理算法,因此您不必担心第 2 步。至于第 3 步 - 您可能需要参考其文档的this section。我是开发此服务前端的团队的一员,所以我可以多说一点。希望对您有所帮助!
【讨论】:
以上是关于从复杂文档进行 OCR 扫描的主要内容,如果未能解决你的问题,请参考以下文章