2012-02-22 95 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