OCR андроид тесс-два - PullRequest
       22

OCR андроид тесс-два

0 голосов
/ 20 марта 2019

мой вопрос может показаться повторным, но задавать вопрос здесь - моя последняя надежда. я попытался сделать OCR для английских символов, используя tess-two , поэтому я сделал следующее: -

1 - я скачал все эти файлы данных eng.traineddata, eng.cube.bigrams, eng.cube.fold, eng.cube.lm, eng.cube.nn, eng.cube.params, eng.cube.size, eng.cube.word-freq, eng.tesseract_cube.nn из здесь , и я поместил их в следующий путь к папке: - Environment.getExternalStorageDirectory() + "/tesseract/+"tessdata"

2 - добавить в зависимости implementation 'com.rmtheis:tess-two:9.0.0'

3 - инициализировать API следующим образом: -

ReadIt = new TessBaseAPI();
ReadIt.init(datapath,"eng");

4 - асинхронная задача для обработки изображения

class ProcessImageAsync extends AsyncTask<Void, Void, String> {

    @Override
    protected String doInBackground(Void... voids) {
        try{

            ReadIt.setImage(new File(currentPhotoPath));
            return ReadIt.getUTF8Text();
        }catch (Exception ex){

            ex.printStackTrace();
            return "";
        }

    }

    @Override
    protected void onPostExecute(String s) {
        if(!s.equalsIgnoreCase("")){
            TextView textView = (TextView)findViewById(R.id.textView);
            textView.setText(s);
        }else{
            Utility.showToast(MainActivity.this, "invalid Data");
        }

    }
}

я сталкиваюсь с двумя основными проблемами первый из которых приложение обрабатывает как навсегда. второй, даже после того, как он возвращается, возвращается с неверным текстом. так я что-то пропустил? или это нормальное поведение (я так не думаю) Спасибо за вашу помощь, ребята.

...