我在我的应用程序中使用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
指定的目录中。