可靠地从扫描的文档/图像中提取标识字段?

时间:2009-11-17 22:21:22

标签: ocr

我必须从纸质表单中提取两个预打印(非手写)字段,以便在扫描后自动路由。这些字段包含批次和项目标识符,例如“GG-9192”或“EPN / 245G”。

我尝试过以下软件:

  • 超正方体-OCR
  • 楔形
  • 佳能ImageRunner内置OCR
  • Asprise OCR Java API(演示)

我尝试了以下设置:

  • 以300dpi和600dpi的分辨率扫描
  • 尝试过不同的字体,包括OCR-A和OCR-B。

在所有情况下,输出几乎遍布整个地方。我可以回复我无法正确提取必要信息的文件,但我认为它至少会有一半。我根据数据库中的已知值考虑了某种模糊逻辑,但有时这些标识符可能会因单个字符而不同,例如“123G”和“123C”。

这是否是一个失败的原因?也许OCR还不够成熟,无法满足这种性质的要求?您可能会推荐哪些其他技巧?条形码?

编辑:包含的应用程序是Java格式的,因此任何有免费或廉价的基于Java的API的建议都会有所帮助。

编辑2:如果有人感兴趣...没有任何特殊调整,Cuneiform for Linux和Canon ImageRunner工作得最好,Tesserect-OCR和Asprise Java API产生最差的结果......四者中没有一个是可以接受的除标准文档搜索等级OCR之外的任何东西我开始认为这不会成功。

2 个答案:

答案 0 :(得分:2)

如果您可以控制字段,为什么要首先使用人类可读的格式?对于扫描,它看起来像QR码,或类似的东西是最好的。它标有方向,并有一些内置的纠错功能。

http://en.wikipedia.org/wiki/QR_Code

答案 1 :(得分:2)

我从番茄的建议开始挖掘产品。我尝试过ABBYY和CVISION。两者都有可以自动化OCR的产品:

此外,ABBYY有SDKs for various platforms,而CVISION的SDK似乎至少可以使用VB / VC ++。

我还没有尝试过任何SDK,我不确定它对我的项目是否必要。我需要的只是PDF格式,我可以从中提取文本。然而,我确实尝试过CVISION的服务器产品,并且在最准确的设置下使用OCR,它的效果非常好。我还没有尝试过ABBYY的服务器产品,因为我必须通过经销商才能进行试用。我正在这样做,但如果它开始变得烦人,我可能会选择CVISION。我确实尝试过ABBYY的FineReader独立产品,它运行得很好,所以我认为他们的服务器产品也会。