Tesseract受过训练的数据路径

时间:2017-05-01 12:57:45

标签: android tesseract tess-two

我正在尝试在我的Android应用中使用tesseract-ocr。当我尝试init()时,我得到IllegalArgumentException,因为在这个文件夹中没有' tessdata' DIR!这是我的项目结构。 project structure

这里我使用了InputStream和cacheDir:

private String getDirPath() {
    File f = new File(getCacheDir()+"/tessdata/");
    if (!f.exists()) try {

        InputStream is = getAssets().open("tessdata/eng.traineddata");
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();


        FileOutputStream fos = new FileOutputStream(f);
        fos.write(buffer);
        fos.close();
    } catch (Exception e) { Log.e("error", e.toString()); }
    Log.i("wtf", f.getPath());
    return getCacheDir();
}

要初始化Tesseract,我必须传递2个参数 - 包含目录' tessdata'的dir的路径。第二个是训练有素的。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您不能以这种方式引用您应用的原始资产文件。请尝试使用AssetManager

答案 1 :(得分:-1)

资产的路径是

 Uri path = Uri.parse("file:///android_asset/")
 String dataPath = path.toString();