Ошибка при использовании tesseract для извлечения текста из изображения с помощью Android

#android #tesseract

#Android #тессеракт

Вопрос:

Я создал tesseract ocr для Android с помощью инструмента Android tesseract, и все прошло нормально. Я также получил файлы библиотеки. Когда я попытался использовать Java-оболочки для доступа к собственным методам, устройство вылетело из строя. Я использую tesseract непосредственно в обратном вызове камеры.

Код выглядит примерно так:

 public class AndroidCamera extends Activity implements SurfaceHolder.Callback {

    TessBaseAPI tba;

    PictureCallback myPictureCallback_JPG = new PictureCallback() {

        public void onPictureTaken(byte[] data, Camera arg1) {
            Bitmap bitmapPicture = BitmapFactory.decodeByteArray(data, 0, data.length);
            tba = new TessBaseAPI();
            tba.setImage(bitmapPicture);
            String result = tba.getUTF8Text();
            Log.i("text: " result);

            Toast.makeText(AndroidCamera.this,result,Toast.LENGTH_LONG).show();
        }
        camera.startPreview();
    };
}
  

Я проверил в журнале cat still setimage, он работает нормально, в tba.getUTF8Text() происходит сбой устройства.

Комментарии:

1. Теперь я получаю исключение с нулевым указателем при попытке получить строку с помощью метода getUTF8Text(). Я думаю, что изображение не обрабатывается, когда я устанавливаю изображение. пожалуйста, подскажите мне, как поступить.

Ответ №1:

Я не вижу никакого кода инициализации движка с нужным языком. Это делается путем вызова метода init с использованием языка / каталога.

     // if trained data is /mnt/sdcard/tessdata/eng.traineddata then 
    // the tesseractDirectory should be /mnt/sdcard/
    String tesseractDirectory ="path to tessdata dir";
    TessBaseAPI api = new TessBaseAPI();

    // eng - english language
    api.init(tesseractDirectory, "eng");
    // you may want to provide a grayscale/high contrast image for better results
  

Подготовленные данные можно загрузить здесь:http://code.google.com/p/tesseract-ocr/downloads/list