【问题标题】:Android Tesseract Data Path in init初始化中的 Android Tesseract 数据路径
【发布时间】:2015-06-21 07:05:17
【问题描述】:

我正在使用 tesseract 工具制作 Android OCR 应用程序。我已经尝试了一些在网上找到的链接。但是,对于他们所有人来说,我的应用程序在
之后崩溃了 baseApi.init(DATA_PATH, lang)

我已经尝试了各种在线找到的 Data_Path 值。我在 assets/tessdata 中有我的 eng.traineddata。

//DATA_PATH = Environment.getExternalStorageDirectory().toString() + "/MyOCRApp/tessdata";


AssetManager assetManager = getAssets();
        String[] files = new String[0];
        try {
            files = assetManager.list("");
        } catch (IOException e) {
            e.printStackTrace();
        }

        for (String currPath:files){
            if (currPath.equals("tessdata")){
                DATA_PATH = "///android_asset/"+ currPath;
            }
        }

这些是我尝试使用的几个示例。另外,我不认为我的应用程序安装在 SD 卡中,而是安装在内部存储器中。我希望这不是问题。

【问题讨论】:

  • 这个类似post已经解决的问题

标签: android android-studio ocr tesseract


【解决方案1】:

语言数据必须在设备的存储中,而不是在应用资产中。

因此,如果您将其放在/MyOCRApp/tessdata 的 SD 卡上,您将使用:

final String datapath = Environment.getExternalStorageDirectory() + "/MyOCRApp";
final boolean initialised = api.init(datapath, "eng"));
// ...

【讨论】:

  • 但我不想单独把它放在sd卡上。我希望它可以从应用程序本身运行。
  • 它必须在设备的存储上。我会尝试在应用启动时将其从资产文件夹复制到 SD 卡。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
相关资源
最近更新 更多