Tess4J: Invalid memory access

2019-01-15 20:04发布

I am trying to use Tess4J in my project to extract text from an image. I am getting the following error when I try run the OCR: Exception in thread "main" java.lang.Error: Invalid memory access

    try {
        File imageFile = new File("example4.jpg");
        Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
        //Tesseract1 instance = new Tesseract1();
        String result = instance.doOCR(imageFile);
        System.out.println(result);
    } catch (Exception e) {
        e.printStackTrace();
    }   

3条回答
smile是对你的礼貌
2楼-- · 2019-01-15 20:22

You must define the datapath of the traineddata to use. If you don't specify the language it will assume it is eng.

For instance, it your project path is PROJECT and your trained data is at PROJECT/data/tessdata/eng.traineddata

tess.setDatapath("data");
tess.setLanguage("eng");

Remember that "tessdata" shoundn't be in the path you specify

查看更多
老娘就宠你
3楼-- · 2019-01-15 20:27

you can set the data path i am getting same problem when i set the data path that problem is solved
try try this

instance1.setDatapath("D://Hotel_project//Tess4J-1.2-src//Tess4J//tessdata");

查看更多
Animai°情兽
4楼-- · 2019-01-15 20:33

if you are running on 32 bit JVM

Please try with Tesseract1 instance = new Tesseract1();

instead of using Tesseract instance = Tesseract.getInstance();

查看更多
登录 后发表回答