首頁 >Java >java教程 >使用Java的Tesseract OCR及其範例

使用Java的Tesseract OCR及其範例

PHPz
PHPz轉載
2023-09-19 23:33:031068瀏覽

使用Java的Tesseract OCR及其示例

介紹

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

什麼是 Tesseract OCR?

Tesseract OCR是由Google贊助的開源OCR引擎,可以直接辨識100多種語言。它以其準確性和適應性而廣受讚譽,成為各種應用程式開發者的熱門選擇。

將 Tesseract OCR 與 Java 整合

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

第 1 步:設定環境

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

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

第二步:對影像進行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任務的優秀選擇。

以上是使用Java的Tesseract OCR及其範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除