【问题标题】:What is the best way to do basic numbers recognition?进行基本数字识别的最佳方法是什么?
【发布时间】:2012-01-27 13:34:53
【问题描述】:

我想在 Android 上使用简单的 OCR 检测从 0 到 9 的基本英文数字。 我一直在寻找适用于 Android 的 OCR,但它对于我的主要目的来说太复杂了,有没有更简单的方法来检测 Android 上的数字?

【问题讨论】:

  • 您是否需要通过手机摄像头对它们进行 OCR?

标签: android opencv computer-vision ocr


【解决方案1】:

一个简单的替代方法是将数字预定义为位图,并使用标准化互相关来找到它们。
这种方法有很多缺点:

  • 对不同字体没有鲁棒性
  • 对数字规模没有鲁棒性
  • ...

但也许这就是您开始时所需要的。

【讨论】:

    【解决方案2】:

    如果您想从基于手机的相机执行 OCR,则很难使用预定义的位图:照片会以不同的比例拍摄,它们会包含噪点,它们会被扭曲等,所以很难足够准确。

    如果您正在开发 Android 应用程序,您最有可能使用 Java。坏消息是没有原生的开源 Java OCR SDK。有一些 Java API 封装了对本机接口的调用,例如,用于最流行的开源 OCR 引擎之一 - Tesseract (http://groups.google.com/group/tesseract-ocr/) - 有一些 Java 包装器,例如 tesjeract (http://code.google.com/p/tesjeract/) 或 Tess4J (http:// tess4j.sf.net/)。这可能对您有用,但设置起来相当困难,并且需要您自己开发图像预处理和字体训练。

    另一种解决方案可能是云服务。它需要最终用户应用程序具有 Internet 连接,但它独立于您的编程语言选择和资源限制。看看ABBYY Cloud OCR SDK,它是 ABBYY 最近推出的基于云的 OCR SDK。它处于测试阶段,所以现在它完全免费使用,并且有一个随时可用的Android code samples。它具有内置的图像预处理功能,无需培训,开箱即用 - 您只需发送图像和接收 ocr-ed 数据。此外,它还具有现场级识别功能,可为您节省宝贵的小型设备处理资源。我在 ABBYY 工作,如有必要,可以为您提供有关我们产品的更多信息。

    【讨论】:

      猜你喜欢
      • 2012-03-02
      • 2014-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      相关资源
      最近更新 更多