进行基本数字识别的最佳方法是什么?

时间:2011-12-25 08:12:49

标签: android opencv computer-vision ocr

我想在Android上使用简单的OCR检测从0到9的基本英文数字。 我已经为Android寻找OCR,但它对我的主要目的而言过于复杂,是否有更简单的方法来检测Android上的数字?

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:3)

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

如果您正在开发Android APP,则很可能使用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。它内置图像预处理,无需培训,只需开箱即用 - 您只需发送和成像并接收已编辑的数据。此外,它还具有现场级识别功能,可以为您节省宝贵的小型设备处理资源。我工作@ ABBYY,如有必要,可以为您提供有关我们产品的更多信息。