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

Posted

技术标签:

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

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

【问题讨论】:

您是否需要通过手机摄像头对它们进行 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 工作,如有必要,可以为您提供有关我们产品的更多信息。

【讨论】:

以上是关于进行基本数字识别的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

人脸识别的主要用途是啥?

VR 中二维手势识别的最佳方法?

验证码是怎么被机器识别的?Keras+CNN模型验证码识别详解

什么是图像识别?图像识别的方法。(基于matlab的)

验证码识别之模板匹配方法

军工AI基于图像处理与图像识别的经典探地雷达识别