我在我的应用程序中使用tesseract ocr。为了使用tesseract,我需要使用多个语言文件,这些文件位于名为“ tessdata”的目录中。

这是我的方法代码:

    public String detectText(Bitmap bitmap) {
    TessBaseAPI tessBaseAPI = new TessBaseAPI();
    String DATA_PATH = Environment.getRootDirectory().getPath() + "/tessdata/";

    tessBaseAPI.setDebug(true);
    tessBaseAPI.init(DATA_PATH, "eng"); //Init the Tess with the trained data file, with english language

    tessBaseAPI.setImage(bitmap);

    String text = tessBaseAPI.getUTF8Text();

    tessBaseAPI.end();

    return text;
}


我使用了许多变体:

String DATA_PATH = Environment.getRootDirectory().getPath() + "/tessdata/";


并且每次应用失败时都会出现“找不到路径”异常。
我需要一个好方法将这个目录放在android手机中,并获取它的路径,而不管它是哪部手机。现在,可以在应用程序根目录中找到“ tessdata”目录。

我怎样才能做到这一点?

最佳答案

不要在您的"/tessdata/"变量中包含DATA_PATH-只需保留该部分,但请确保该子文件夹位于DATA_PATH指定的目录中。

09-12 04:14