【问题标题】:Simplified OCR with unchanging font字体不变的简化 OCR
【发布时间】:2011-12-22 17:51:36
【问题描述】:

我正在做一个需要更简单、更准确的 OCR 工具的项目

我的场景:

  • 结构相同的每周图像
  • 我有一个小区域需要从中获取号码
  • 我需要从中获取带有连字符的文本的另一个小区域
  • 字体总是一样的(这是我可以更准确的地方)
  • 除了平面光栅化图像外,没有其他选项可供图像使用
  • 核心软件采用 C# 语言,因此最好使用 CLI 语言。
  • 图像为 300 dpi,因此有一个很好的工作基础

我会使用普通的 OCR 程序,但我知道我可以得到更准确的结果,即使不是完美的结果,因为它总是使用相同的字体。

那么,什么是好的方法?我不想从头开始写大量的工作,但我不想要一个经过预训练的过度泛化的 OCR 工具。我想在这一种字体上训练它,这样它会得到非常准确的结果。我也不想进行分离单词和查找字母行等的特征提取。

【问题讨论】:

  • MODI 的运气不错;它需要客户端安装 Office 但是 YMMV。另一种选择是Tessnet2
  • 如果您正在创建图像,为什么不使用条形码。这比任何 OCR 都更准确。
  • 如果我正在创建图像,我不需要 OCR 来知道文本的内容。我只是在制作图像之前保存它......
  • 这些图像是扫描的还是数字生成的?
  • 数字化,这就是为什么一旦经过训练,使用 ocr 阅读字母非常容易

标签: c# ocr


【解决方案1】:

我可能会使用 OpenCV 的机器学习(例如使用 haar 级联),除非角色的位置真的完全是静态的 - 在这种情况下,一个简单的比较就可以解决问题(例如,使用差异的绝对总和找到最佳匹配) .

字体是固定的吗?如果没有,您可以使用一种特殊的 OCR 字体来获得难以混淆的字符,即使在较差的图像上也是如此。

虽然,考虑到你说你想教它,你可能最好使用机器学习。

【讨论】:

  • 字体是固定的。我不需要只知道它不同,我需要从这两个特定位置提取文本。如果有意义的话,我更喜欢我可以说 readText(Rect rect, Font font) 的东西。 (使用给定字体提取给定矩形内的文本)
  • 使用上面提到的 haar 级联,您最终会得到字母和图像中的位置(基本上是包含样本的矩形),因此您只需按位置对它们进行排序并对其进行解释。
  • 我会进一步调查,这听起来像是我需要的。在我有包含字符的方块之后逐个字母地阅读会很容易。我从那里开始训练它会很快。
【解决方案2】:

我会使用经济型 OCR 引擎,例如来自http://www.transym.com 的 TOCR。许可证费用非常便宜,OCR 快速且结果非常准确,特别是如果您定义了一个固定的矩形来提取并且没有背景噪音。在进行购买之前,您应该下载试用版以测试结果。

当您设置自定义 OCR 引擎并对其进行训练时,您所花费的费用将远远超过少量许可费用,而且您可能会发现结果更准确。

如果能够看到您想要 OCR 的文本中的一两个图形,那么我们将能够给出更准确的答案。

【讨论】:

  • 图片包含敏感数据。实际上我需要 OCR 的两个点是敏感数据,所以不可能举个例子。
【解决方案3】:

听起来您应该寻找字段级别的识别,您不会对完整图像执行 OCR,而只指定一些带有坐标的字段。如果您正在计划商业软件并寻求企业准确性 - 请查看 www.ocrsdk.com - 它是 ABBYY 最近推出的基于云的 OCR SDK。它现在处于测试阶段,因此完全免费使用。它有一个很好的方法,适合从文档中提取文本和C# sample codes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 2011-04-07
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多