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

时间:2015-05-04 08:39:43

标签: android c++ tesseract tess-two

有没有办法在Tesseract中指定进度并取消回调?我在Android中使用Tesseract,使用tess-two project

之前已有一个问题 - Android Tesseract progress callback。然而,那里的答案暗示它是不可能的。

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

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

1 个答案:

答案 0 :(得分:3)

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

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

我最近写了一篇blog post。如果您遇到问题,请在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);

接收udpates:

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