Tess4J:内存访问无效

时间:2013-11-10 20:38:30

标签: java ocr tesseract

我试图在我的项目中使用Tess4J从图像中提取文本。我尝试运行OCR时收到以下错误: 线程“main”中的异常java.lang.Error:内存访问无效

    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 个答案:

答案 0 :(得分:12)

当我设置解决问题的数据路径时,你可以设置我遇到同样问题的数据路径 试试这个

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

答案 1 :(得分:1)

您必须定义要使用的训练数据的数据路径。如果你没有指定语言,它会认为它是eng。

例如,您的项目路径是PROJECT,您的训练数据是PROJECT / data / tessdata / eng.traineddata

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

请记住,“tessdata”不会出现在您指定的路径中

答案 2 :(得分:0)

如果您在32位JVM上运行

请尝试使用Tesseract1 instance = new Tesseract1();

而不是使用 Tesseract instance = Tesseract.getInstance();