Android Tesseract traineddata路径
我正在尝试在我的android应用程序中使用tesseract ocr。当我尝试初始化()时,我得到了IllegalArgumentException,因为在此文件夹中没有“tessdata”目录!这是我的项目结构 这里我使用了InputStream和cacheDir:Android Tesseract traineddata路径,android,tesseract,tess-two,Android,Tesseract,Tess Two,我正在尝试在我的android应用程序中使用tesseract ocr。当我尝试初始化()时,我得到了IllegalArgumentException,因为在此文件夹中没有“tessdata”目录!这是我的项目结构 这里我使用了InputStream和cacheDir: private String getDirPath() { File f = new File(getCacheDir()+"/tessdata/"); if (!f.exists()) try {
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,我必须传递两个参数-指向dir的路径,其中包含目录“tessdata”,第二个参数是traineddata。
有什么想法吗?你的资产路径是
Uri path = Uri.parse("file:///android_asset/")
String dataPath = path.toString();
你不能以这种方式引用应用程序的原始资产文件。请尝试改用。您添加了“读取文件”权限吗?是的,我在开头添加了这些文件。很抱歉,我的回答太晚了。我使用了这个代码,但得到了相同的异常.在这里!我用另一种方式编辑了我的文章,你编辑了你的文章,使它成为一个完全不同的问题。请不要那样做。