使用Java和示例進行Tesseract OCR


介紹

光學字元識別 (OCR) 在數字化印刷文字方面發揮著重要作用,使文字可以更方便地進行編輯、搜尋和更緊湊地儲存。Tesseract OCR 是目前最強大的 OCR 工具之一。本文將探討如何使用 Tesseract OCR 與 Java,並提供詳細示例以增強您的理解。

什麼是 Tesseract OCR?

Tesseract OCR 是一個由 Google 贊助的開源 OCR 引擎,它可以開箱即用地識別 100 多種語言。它因其準確性和適應性而廣受好評,使其成為各種應用程式開發人員的熱門選擇。

將 Tesseract OCR 與 Java 整合

為了將 Tesseract OCR 與 Java 整合,我們需要使用 Java 的 Tesseract API,通常稱為 Tess4J。Tess4J 為 Tesseract OCR API 提供了一個 Java JNA 包裝器,彌合了 Tesseract 引擎和 Java 應用程式之間的差距。

步驟 1:設定環境

首先,我們需要安裝 Tesseract OCR 和 Tess4J。可以使用各自的包管理器在 Windows、Linux 和 MacOS 上安裝 Tesseract。要將 Tess4J 包含到您的 Java 專案中,您可以將其新增為 Maven 依賴項:

<dependency>
   <groupId>net.sourceforge.tess4j</groupId>
   <artifactId>tess4j</artifactId>
   <version>4.5.4 </version> <!-- or whatever the latest version is -->
</dependency>

步驟 2:對影像執行 OCR

以下是一個簡單的 Java 程式碼片段,它對影像檔案執行 OCR:

import net.sourceforge.tess4j.*;

public class OCRExample {
   public static void main(String[] args) {
     File imageFile = new File("path_to_your_image_file");
     ITesseract instance = new Tesseract();  // JNA Interface Mapping
     instance.setDatapath("path_to_tessdata"); // replace with your tessdata path

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

在這個例子中,我們例項化一個 Tesseract 物件並設定 tessdata 目錄的路徑,該目錄包含語言資料檔案。然後,我們對影像檔案呼叫 doOCR(),它返回一個包含識別文字的字串。

步驟 3:處理多種語言

Tesseract OCR 支援 100 多種語言。要使用不同的語言執行 OCR,只需在 Tesseract 例項上設定語言即可:

instance.setLanguage("fra"); // for French

然後,像往常一樣呼叫 doOCR():

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

這將現在使用法語語言資料對影像執行 OCR。

結論

Tesseract OCR 與 Java 相結合,為需要在其應用程式中實現 OCR 功能的開發者提供了一個強大的工具集。Tesseract 的靈活性和準確性以及廣泛的語言支援使其成為各種 OCR 任務的絕佳選擇。

更新於:2023年6月16日

4K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.