2012-04-11 4 views
0

tesseract-android-tools-test (тестовый проект, чтобы все было настроено правильно). Я получил мой eng.traindeddata от: http://tesseract-ocr.googlecode.com/files/eng.traineddata.gz (http://code.google.com/p/tesseract-ocr/wiki/ReadMe) Однако я все еще получаю вышеупомянутую ошибку при попытке запустить мой собственный путь, который просто инициализируя его ... это все, что я делаю до сих пор. Любые предложения?Android tesseract OCR, jni: получил нулевую строку в Lcom/googlecode/tesseract/android/TessBaseAPI

ответ

0

ОК, даже если в документации указано, что вы можете вызвать init как tesseract.init (PATH, null). Тогда вы не можете этого сделать. Убедитесь, что вы вызываете его с помощью «eng» или языка, который вы хотите «интерпретировать».

2

Вам нужно разместить eng.traineddata (распакованный) внутри tessdata директории в папке -

/mnt/sdcard/tessdata/eng.traineddata

Затем укажите путь в/шоссе/SDCard/к вашему вызову init. 'tessdata' добавляется библиотекой.

public class TesseractApp extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     File sdcard = Environment.getExternalStorageDirectory(); 
     File from = new File(sdcard, "Pic.jpg"); 
     TessBaseAPI api = new TessBaseAPI(); 
     api.init("/mnt/sdcard/", "eng"); 
     api.setImage(from); 
     Log.d("OCR", api.getUTF8Text()); 
    } 
}