2016-05-17 23 views
4

我正在研究我的Android應用的功能。我想從圖片中讀取文本,然後將該文本保存在數據庫中。最好的方式是使用OCR嗎?有另一種方法嗎? Google在文檔中建議,只有在嚴格需要的情況下才能使用NDK,但究竟是什麼問題呢?如何從圖像中提取文本Android應用

任何幫助將是偉大的。

Image to be OCR'd

enter image description here

enter image description here

enter image description here

+0

我也在尋找解決這樣的事情,並在閱讀,我降落在這裏說明。我想問問你有沒有找到任何可行的解決方案。讀了兩個答案後,我有點困惑。你跟隨哪一個,他們的準確度是多少?介意分享你的案例研究?謝謝。 – Lokesh

回答

0

有不同的選項。您可以將圖像上傳到服務器,從服務器對其進行OCR處理,然後獲得結果。

+0

謝謝你的回覆,這將有多可靠?那裏有使用這種方法的真實世界的應用程序嗎? – MrAnderson1992

+0

是的,有。 –

+0

再次感謝您的回覆。有沒有可能在那裏添加一些細節?它有多準確?真實世界的應用程序使用它?我測試了一個行業標準的OCR,它沒有提供超過40%的準確度。 (對於我的需要使用) – MrAnderson1992

4

你可以使用谷歌視覺庫將圖像轉換爲文本,它會提供更好的圖像輸出。 添加以下庫中的gradle構建:

compile 'com.google.android.gms:play-services-vision:10.0.0+' 

    TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build(); 

Frame imageFrame = new Frame.Builder() 

     .setBitmap(bitmap)     // your image bitmap 
     .build(); 

String imageText = ""; 


SparseArray<TextBlock> textBlocks = textRecognizer.detect(imageFrame); 

for (int i = 0; i < textBlocks.size(); i++) { 
    TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i)); 
    imageText = textBlock.getValue();     // return string 
}