带有 OpenCV 的光学字符识别 Android

Posted

技术标签:

【中文标题】带有 OpenCV 的光学字符识别 Android【英文标题】:Optical Character Recognition Android with OpenCV 【发布时间】:2012-03-13 08:13:55 【问题描述】:

我目前正在从事一个项目,该项目涉及 android 中的光学字符识别,确实需要一些在该领域有经验的人的指点。

我被告知首先使用 Android (Set up OpenCv with Android) 设置 OpenCV,然后从那里开始。从那时起,我设置了 OpenCV 并拥有所有示例 (OpenCV android samples) 和随附的教程。

我的问题是我无法从这里找到一个可靠的方向,我找到了一个相关问题here,其答案指向tutorial,但我不确定它是否适用于 Android。

我基本上被困在继续使用 OpenCV 或尝试我一直在阅读的其他工具(如 tesseract 或纯 java implementations)之间进行选择。

任何关于选择什么方向的建议将不胜感激, 谢谢, 凯利克。

TL;DR 需要有关 Android 中最佳光学字符识别实施的建议

【问题讨论】:

【参考方案1】:

你可以看看JavaCV,它是OpenCV的java接口

你可以查看 Tesseract Android Tools 之类的东西(非常不错):http://code.google.com/p/tesseract-android-tools/

这里是我们在使用它时遇到的一个问题的提示:Bytes Per Pixel value for byte representation of image in Android(如果您使用的是相机)

【讨论】:

我会非常感谢队友的建议。我一直在玩谷歌护目镜,对其功能印象深刻,你知道它是构建 Tesseract 吗?? 我想是的(这是凭记忆,我似乎无法在别处确认) 只是让您知道我已更改为 Tesseract 并运行了一个示例 OCR 程序,谢谢!【参考方案2】:

有一个教程here 基于 Android 的 Tesseract 工具的一个分支。为了获得好的结果,您可能需要使用某种阈值对图像进行预处理。

【讨论】:

嘿,感谢您的回复,我设法设置了该教程中的所有内容,但是当我运行作者示例应用程序时,一切正常,直到我拍照并接受它以执行 OCR在它上面应用程序崩溃..我无法弄清楚错误,如果有人知道解决方案,那将非常有帮助。 img803.imageshack.us/img803/4351/screenshotat20120224094.png 确保位图使用 ARGB_8888 格式。示例here. 您好,谢谢您的建议,这就是问题所在,必须放一个 'bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);'在 'if (rotate != 0)' 语句之外。

以上是关于带有 OpenCV 的光学字符识别 Android的主要内容,如果未能解决你的问题,请参考以下文章

[译]OpenCV的基础光学字符识别(Basic OCR in OpenCV)

Android OCR(光学字符识别)[重复]

通过字段识别和光学字符识别(OCR)进行数据输入自动化,用于预定义表格上的手写

汇总

Python+OpenCV+Tesseract实现OCR字符识别

Android开发(51) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。