Android tesseract OCR,jni:在Lcom / googlecode / tesseract / android / TessBaseAPI中收到一个空字符串

时间:2012-04-11 08:54:20

标签: android ocr tesseract

tesseract-android-tools-test(确保一切设置正确的测试项目)有效。 我从http://tesseract-ocr.googlecode.com/files/eng.traineddata.gz获取了我的eng.traindeddata(http://code.google.com/p/tesseract-ocr/wiki/ReadMe) 然而,当我试图运行我自己的路径时,我仍然得到上面提到的错误,这只是初始化它...这就是我到目前为止所做的一切。 有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您需要将eng.traineddata(解压缩)放在文件夹的tessdata目录中 -

/mnt/sdcard/tessdata/eng.traineddata

然后,将路径作为/ mnt / sdcard /提供给init调用。 'tessdata'由图书馆添加..

public class TesseractApp extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        File sdcard = Environment.getExternalStorageDirectory();
        File from = new File(sdcard, "Pic.jpg");
        TessBaseAPI api = new TessBaseAPI();
        api.init("/mnt/sdcard/", "eng");
        api.setImage(from);
        Log.d("OCR", api.getUTF8Text());
    }
}

答案 1 :(得分:0)

好的,即使文档声明您可以将init称为tesseract.init(PATH, null ),但您不能这样做。请务必使用“eng”或您希望“解释”的语言来调用它。