4

我试图在我的项目中使用 Tess4J 从图像中提取文本。当我尝试运行 OCR 时出现以下错误:线程“主”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();
    }   
4

3 回答 3

12

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

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

于 2014-05-26T15:09:51.973 回答
2

您必须定义要使用的训练数据的数据路径。如果您不指定语言,它将假定它是 eng。

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

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

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

于 2014-07-17T16:15:14.397 回答
0

如果您在 32 位 JVM 上运行

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

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

于 2014-04-25T06:09:41.560 回答