2011-12-25 152 views
5

我想在Android上使用简单的OCR检测从0到9的基本英文数字。 我在寻找适用于Android的OCR,但对于我的主要目的来说太复杂了,有没有更简单的方法来检测Android上的数字?什么是做基本号码识别的最佳方式?

+1

你需要从基于手机的相机对它们进行OCR吗? – Nikolay 2011-12-26 12:16:21

+0

@尼古拉 是的,我需要那个。 – 2011-12-26 12:24:16

回答

5

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

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

但也许那是你只需要开始。

3

如果你想从基于手机的摄像机执行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/)。这可以为你工作,但它很难设置,并需要开发图像预处理和字体训练在你身边。

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

相关问题