2

我希望我的应用程序在以黑白图像文件形式存在的表单中填写单个字段。表单总是以相同的纸质版本开始,但是当我的应用程序从我的用户那里获得它时,它可能已经被扫描或传真了不止一次。因此,我需要的字段不在每个文件中的相同位置。

我的用户并不总是从我这里得到空白表单,因此我无法打印以后可以识别的标记或占位符。

原来的空白表格上有文字,但因为可能是传真过来的,所以我只有 200 dpi 的分辨率。文本总是足够大,可供人类阅读,但我对 OCR 持怀疑态度。

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

也就是说,我正在考虑

  1. 获取 OCR 解决方案以在我需要的字段上查找文本标签。我认为我没有资源或专业知识来自己动手。我不需要完美的识别,因为我已经知道文字说了什么。但我确实需要知道 X 坐标和 Y 坐标。有没有这样的软件?还是编程比我想象的要容易?

  2. 构建或购买软件来识别表格的边缘。从那里,我可以得到我需要的字段的相对位置。我在想我的扫描仪软件在小文档图像周围放置的虚线。这是一个已知的算法还是有可用的解决方案?

  3. 识别我需要的领域的其他方式。尝试使用 google 表单填写软件给了我数百个匹配的 web 表单、pdf 表单等,这些都不能满足我的需要。

我对语言不挑剔。我的应用程序在 Linux 上运行,但如果最好的解决方案是 Microsoft,我可能会成功。

我很感激你的想法。

4

3 回答 3

4

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

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

于 2009-02-14T18:45:19.007 回答
0

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

于 2009-02-14T01:48:03.757 回答
0

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

于 2015-02-18T21:25:05.537 回答