2013-05-17 60 views
2

我有一個小問題。我嘗試測試一個例子。從圖像中獲取文本(掃描文本)和OCR(Tess4J)Tesseract java和eclipse。Teeseract(Tess4J ocr java與日食)配置

File imageFile = new File("D:\\HEAD2.png"); 
       Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping    
       // Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping 

       try { 
        String result = instance.doOCR(imageFile); 
        System.out.println(result); 
       } catch (TesseractException e) { 
        System.err.println(e.getMessage()); 
       } 

我這是怎麼設置我的應用程序:

1)下載Tess4J包含的文件夾(tess4j.jar,文件夾tessdata,libtesseract302.dll,liblept168.dll)

2)I將該jar添加到應用程序的路徑中 3)我將另一個添加到應用程序的當前目錄中

最後,該示例運行良好。 但是今天,當我執行這個exempble他提到了我錯誤

錯誤打開數據文件\應用 數據\的Tesseract-OCR \ tessdata/eng.traineddata請確保 TESSDATA_PREFIX環境變量設置爲父目錄 你的「tessdata」目錄。加載語言'eng'失敗Tesseract 無法加載任何語言!

後還可以下載tesseractOCR.exe在C:\ programmeFiles \ TesseractOCR。它工作正常 但當也DELET thisprogramm也能正常工作..waht這是該PROGRAMM的作用

它工作正常,即使沒有instance.setDatapath("C:\\Program Files\\Tesseract-OCR"); 。我不明白!

+1

的解釋可以http://stackoverflow.com/questions/18095708/tess4j-doesnt-use-its-tessdata-folder/後找到。 – nguyenq

回答

0

嘗試在你的路徑中沒有空格? (應用數據)

你需要磁盤上的庫嗎?它與Maven依賴效果很好:

<dependency> 
     <groupId>net.sourceforge.tess4j</groupId> 
     <artifactId>tess4j</artifactId> 
     <version>3.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sourceforge.lept4j</groupId> 
     <artifactId>lept4j</artifactId> 
     <version>1.1.1</version> 
    </dependency>