2012-02-22 94 views
10

我目前正在研究一个涉及Android中光学字符识别的项目,并且确实需要一些在该领域具有一定经验的人的指点。光学字符识别Android与OpenCV

我被告知要通过设置OpenCV与Android(Set up OpenCv with Android)并从那里开始。从那时起,我已经建立了OpenCV,并拥有所有与它一起工作的样本(OpenCV android samples)和教程。

我的问题是我找不到一个坚实的方向从这里进去,我发现一个相关的问题here其答案指向tutorial但是我不确定它是否可以与Android一起使用。

我基本上试图选择继续与OpenCV之间或尝试其他工具,我一直在阅读有关像tesseract或纯java的implementations

任何意见什么方向选择将不胜感激, 谢谢, Celic。

TL; DR需要在Android的有关最佳的光学字符识别实施意见

回答

5

您可以在JavaCV看看这一个java接口的OpenCV

您可以检查类似正方体的Android工具(很体面):http://code.google.com/p/tesseract-android-tools/

下面是我们在开始使用它时遇到的一个问题:Bytes Per Pixel value for byte representation of image in Android(如果您使用摄像头的话)

+0

我会做配偶非常感谢您的建议..我一直在玩一下谷歌护目镜,并且它的功能给我留下了很深的印象,它是否构建了Tesseract你知道吗? – TomSelleck 2012-02-22 23:13:22

+0

我这么认为(这来自内存,我似乎无法在其他地方证实) – MahdeTo 2012-02-23 07:20:36

+0

只是让你知道我改变了Tesseract,并得到了一个示例OCR程序运行,谢谢! – TomSelleck 2012-02-25 13:43:16

3

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

+0

嘿,感谢您的回复,我设法让教程中的所有内容都设置好了,但是当我运行作者示例应用程序时,一切正常,直到我拍摄图片并接受它执行OCR在这一点上应用程序崩溃..我无法找出错误,如果任何人有一个解决方案的想法,这将是非常有用的。 http://img803.imageshack.us/img803/4351/screenshotat20120224094.png – TomSelleck 2012-02-24 17:56:42

+0

一定要使用ARGB_8888格式的位图。示例[here](http://code.google.com/p/tesseract-android-tools/source/browse/tesseract-android-tools-test/src/com/googlecode/tesseract/android/test/TessBaseAPITest.java )。 – rmtheis 2012-02-24 20:05:50

+0

嘿,谢谢你的建议,那就是问题了,不得不放置'bitmap = bitmap.copy(Bitmap.Config.ARGB_8888,true);' 'if(rotate!= 0)'语句之外。 – TomSelleck 2012-02-25 13:45:40