簡體   English   中英

Tesseract OCR 在 Linux 上的 Java 中不起作用

[英]Tesseract OCR not working in Java on Linux

我在后端使用 Java 將一個戰爭文件部署到我的服務器。 我試圖讓 Tesseract 在 CentOS 上的 Java 中工作,但它根本行不通。 完美的作品在我的Windows本地主機,雖然。 我的代碼是:

private void doOCR(File file) // The image file
{
    InputStream stream = new FileInputStream(file);

    ContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    ParseContext context = new ParseContext();

    TesseractOCRConfig config = new TesseractOCRConfig();
    config.setTesseractPath(TESSERACT_PATH);
    // Path on Windows is C://Tesseract-ocr and path on Linux is /usr/local/bin
    context.set(TesseractOCRConfig.class, config);

    TesseractOCRParser tessParser = new TesseractOCRParser();       
    tessParser.parse(stream, handler, metadata, context);
    stream.close();
    System.out.println(handler.toString()); // handler.toString() prints extracted text
}

此代碼適用於 Windows,但不適用於 Linux。 但是,我可以從命令行執行 Tesseract,並且輸出文件包含正確的文本。 Tesseract 無法在 Linux 上使用 Java。 有什么我在這里想念的嗎? 謝謝!

好的,我想出了我的問題。 在 Linux 上,tesseract 文件存儲在許多不同的位置(即有些在 etc/tomcat6 中,有些在 var/lib/tomcat6 中,等等)。 在我的 Windows 機器上,所有文件都存儲在同一個文件夾 (Tesseract-ocr) 中。 我在兩台機器上都設置了 tesseract 可執行文件的路徑,但我需要將所有 tesseract 數據文件放在同一位置。 進行此更改解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM