我希望我的应用程序以作为黑白图像文件的形式填写单个字段。该表格总是以同一纸张版本开始,但是到我的应用程序从用户获取它时,它可能已经被扫描或传真了一次。因此,我需要的字段在每个文件中都不位于同一位置。

我的用户并不总是从我这里得到空白表格,因此我没有能力打印以后能识别的标记或占位符。

原始空白形式上有文本,但是由于可能已经传真,我只有200 dpi的分辨率。文字总是足够大,可以阅读人类,但我对OCR持怀疑态度。

我有一些预算,所以我不需要免费的解决方案......我们只说2000美元。

也就是说,我正在考虑

  1. 获取一个OCR解决方案,以在我需要的字段上找到文本标签。我认为我没有资源或专业知识可以滚动我拥有。我不需要完美的识别,因为我已经知道文字说了什么。但是我确实需要了解X-和Y-Coordinate。有没有这样做的软件?或者编程比我想象的更容易?

  2. 构建或购买软件以识别表格的边缘。从那里,我可以获得所需的领域的相对位置。我正在考虑我的扫描仪软件在一个小文档的图像上放置的虚线。这是已知的algorhthm还是有可用的解决方案?

  3. 其他一些识别我需要的领域的方法。尝试使用Google表单填充软件的尝试为我提供了数百场Web表单,PDF表格和等等的匹配项。那不做我需要的事情。

我对语言并不挑剔。我的应用程序在 Linux 上运行,但如果最好的解决方案是 Microsoft,我可能可以实现这一点。

我很感激你的想法。

有帮助吗?

解决方案

如果我理解正确的话,表格总是相同的,但可能会因复印/传真而移动、缩放或稍微旋转。在这种情况下,您的问题是之一 图像配准:找到最佳的刚性转换,使用户的表单与您的“模型”表单对齐,其中您知道感兴趣字段的位置。一旦知道了转换,您就可以计算该字段在用户表单中的位置。

有许多图像配准算法,通常是为对齐大脑 MR 图像等应用而开发的。它们的计算成本很高并且需要统计先验。幸运的是,你的情况更容易:您所需要做的就是在用户表单的内容周围放置一个矩形。坐标下降应该有效。您需要对噪音(表单外的垃圾)有一定的容忍度。

其他提示

以下是一些可用的 OCR 解决方案(开源和非开源)的一些总结: http://googlesystem.blogspot.com/2007/04/open-source-ocr-software-spoken-by.html

严格的注册可能还不够。用户可以修改模板表单的布局和格式,例如更改字体、更改复选框或输入框的位置、在不同的换行位置处断开段落等。处理这些差异比纯粹的平移、旋转或缩放变换更复杂。此外,如果您的图像是二值图像(黑白),我认为那些医学图像配准算法(处理灰度图像)不会有太大帮助。您的成本函数和最小化策略可能会相应改变。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top