Android — прогресс / отмена обратного вызова в Tesseract с использованием ETEXT_DESC

Есть ли способ указать прогресс и отменить обратный вызов в Tesseract? Я использую Tesseract в Android, используя проект тэсс-два.

Уже есть предыдущий вопрос — Android Tesseract прогресс обратный вызов. Однако ответы там подразумевают, что это невозможно.

У меня есть еще одна важная деталь, чтобы добавить — я проверил исходный код и нашел класс под названием ETEXT_DESC, похоже, это можно использовать только для этой цели.

Мой вопрос — может ETEXT_DESC использоваться для выполнения и отмены обратных вызовов, и если это возможно, как я могу его использовать?

2

Решение

Да, вы можете получить обратные вызовы прогресса, реализовав ProgressNotifier интерфейс и переопределение onProgressValues метод. (За кулисами он использует ETEXT_DESC класс, который вы упоминаете.) Предоставьте ваш объект уведомителя в качестве параметра для TessBaseAPI конструктор.

Вы можете отменить OCR, который выполняется, используя stop метод.

Я написал Сообщение блога об этом недавно. Если у вас возникнут проблемы, пожалуйста, откройте новый выпуск по проекту tess-two.

РЕДАКТИРОВАТЬ:

Из поста в блоге:

Процент прогресса может использоваться в термометре ProgressBar. Ограничительные рамки могут быть нарисованы в верхней части дисплея входного изображения во время распознавания.

Реализация этого обратного вызова требует использования альтернативного конструктора для объекта TessBaseAPI и реализации интерфейса ProgressNotifier:

Регистрация для получения обновлений:

ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar1);

// Create the TessBaseAPI object, and register to receive OCR progress updates
TessBaseAPI baseApi = new TessBaseAPI(this);

baseApi.getHOCRText(myImage);

Получение обновлений:

@Override
public void onProgressValues(ProgressValues progressValues) {
progressBar.setProgress(progressValues.getPercent());
}
3

Другие решения


По вопросам рекламы [email protected]