使用ETEXT_DESC在Tesseract中进行进度/取消回调

Progress/cancel callback in Tesseract using ETEXT_DESC

本文关键字:取消 回调 ETEXT DESC Tesseract 使用      更新时间:2023-10-16

有没有办法指定进度并取消Tesseract中的回调?我正在使用Tess-Two项目中的Android中使用Tesseract。

已经有一个以前的问题 - Android Tesseract进度回调。但是,那里的答案意味着不可能。

我还有另一个关键细节要添加 - 我检查了源代码并找到了一个称为ETEXT_DESC 的类,看起来它可以仅用于此目的。

我的问题是 - ETEXT_DESC可以用于进度和取消回调,如果可以,我该如何使用?

是的,您可以通过实现ProgressNotifier接口并覆盖onProgressValues方法来获得进度回调。(在幕后,它使用您提到的ETEXT_DESC类。)提供您的Notifier对象作为TessBaseAPI构造函数的参数。

您可以使用stop方法取消正在进行的OCR。

我最近写了一篇博客文章。如果您遇到问题,请在Tess-Two项目上打开一个新问题。

编辑:

摘自博客文章:

该进度百分比可用于温度计式进度键。可以在识别过程中在输入图像显示的顶部绘制边界框。

实现此回调需要使用替代构造函数进行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);

接收udpates:

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