2016-05-17 3 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

Я также ищу решение что-то вроде этого, и во время чтения, я приземлился на SO здесь. Я хотел бы спросить вас, вы нашли какое-то приемлемое решение для этого. Прочитав два ответа, я немного смущен. Каким из них вы следовали и какова была их точность. Не возражаете поделиться своими примерами? Спасибо. – Lokesh

ответ

0

Существует другой вариант. Вы можете загрузить свое изображение на сервер, OCR его с сервера, а затем получить результат.

+0

Благодарим за ответ, насколько надежным это будет? Существуют ли какие-либо приложения реального мира, которые используют этот метод? – MrAnderson1992

+0

Да, есть. –

+0

Еще раз спасибо за ваш ответ. Есть ли возможность добавить некоторые детали? Насколько он может быть точным ?, Какие приложения в мире используют его? Я тестировал OCR с отраслевым стандартом, и он не обеспечивал точность более 40%. (Для моего использования) – MrAnderson1992

4

вы можете использовать библиотеку видения google для преобразования изображения в текст, это даст лучший результат из изображения. Добавить ниже библиотеки в сборки 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 
} 
Смежные вопросы