2025年7月1日 星期二

說明 Tesseract OCR 的安裝與使用方法

 詳細說明 Tesseract OCR 的安裝與使用方法。

整個過程主要分為兩大部分:

  1>>安裝 Tesseract 主程式 

 2>>學習如何透過命令列或程式碼使用它

未指定作業系統將提供在 Windows、macOS 和 Linux (Ubuntu/Debian)

 這三個主流平台上的安裝方式。


#第一部分:安裝 Tesseract OCR

請根據您的作業系統選擇對應的安裝指南。


在 Windows 上安裝

對於 Windows 使用者,最推薦的方式是下載由 Tesseract at UB Mannheim 維護的官方安裝檔,因為它包含了安裝程式且易於管理。

  1. 下載安裝程式

    • 前往 Tesseract at UB Mannheim 的 Wiki 頁面

    • 找到「Installation」區塊,您會看到 tesseract-ocr-w64-setup-v5.x.x...exe (64位元) 或 tesseract-ocr-w32-setup-v5.x.x...exe (32位元) 的下載連結。請根據您的系統下載最新版本的安裝檔。

  2. 執行安裝程式

    • 打開下載的 .exe 檔。

    • 在「Select Components」這一步,請務必勾選「Additional language data」。

    • 展開語言列表,找到並勾選 Chinese, Traditional (繁體中文) 和 Chinese, Simplified (簡體中文,建議一併安裝以應對不同文件)。您也可以根據需要勾選其他語言,如 English

  3. 設定環境變數 (非常重要)

    • 安裝程式通常會詢問是否要將 Tesseract 加入系統的 PATH 環境變數,請務必同意。

    • 如果安裝後在命令列中輸入 tesseract 顯示「不是內部或外部命令」,那表示環境變數沒有設定成功。您需要手動添加:

      • 找到 Tesseract 的安裝路徑 (預設為 C:\Program Files\Tesseract-OCR)。

      • 在 Windows 搜尋「編輯系統環境變數」,打開它。

      • 點擊「環境變數...」,在「系統變數」中找到 Path,點擊「編輯」。

      • 點擊「新增」,並將您的 Tesseract 安裝路徑 (例如 C:\Program Files\Tesseract-OCR) 貼上,然後一路確定保存。

  4. 驗證安裝

    • 重新開啟一個新的「命令提示字元 (CMD)」或「PowerShell」。

    • 輸入以下指令:

      Bash
      tesseract --version
      
    • 如果成功顯示版本資訊,代表安裝完成。


在 macOS 上安裝

在 macOS 上,最方便的方式是使用 Homebrew 套件管理器。

  1. 安裝 Homebrew (如果您尚未安裝):

    • 打開「終端機 (Terminal)」應用程式,貼上並執行以下指令:

      Bash
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
  2. 安裝 Tesseract

    • 在終端機中,執行以下指令來安裝 Tesseract:

      Bash
      brew install tesseract
      
    • 這會自動安裝 Tesseract 及其所需的依賴套件。

  3. 安裝語言資料

    • Homebrew 會順便安裝英文語系。若要安裝繁體中文和其他語言,請安裝 tesseract-lang

      Bash
      brew install tesseract-lang
      

      此指令會安裝所有 Tesseract 支援的語言資料。

  4. 驗證安裝

    • 在終端機輸入:

      Bash
      tesseract --version
      
    • 成功顯示版本資訊即代表安裝完成。


在 Linux (Ubuntu / Debian) 上安裝

在基於 Debian 或 Ubuntu 的 Linux 發行版上,可以使用 apt 套件管理器。

  1. 更新套件列表

    • 打開終端機,執行:

      Bash
      sudo apt update
      
  2. 安裝 Tesseract 主程式

    Bash
    sudo apt install tesseract-ocr
    
  3. 安裝語言資料

    • apt 將語言包分開管理。要安裝繁體中文,請執行:

      Bash
      sudo apt install tesseract-ocr-chi-tra
      
    • 英文是 tesseract-ocr-eng,簡體中文是 tesseract-ocr-chi-sim。您可以根據 tesseract-ocr-[語言代碼] 的格式安裝所需語言。

  4. 驗證安裝

    • 在終端機輸入:

      Bash
      tesseract --version
      

#第二部分:使用 Tesseract OCR

安裝完成後,就可以開始使用了。主要有兩種使用方式:命令列介面 (CLI)程式語言整合 (以 Python 為例)


1. 使用命令列 (CLI)

這是最直接的使用方式。您需要準備一張含有文字的圖片 (例如 image.png)。

基本語法

Bash
tesseract [圖片路徑] [輸出檔名(不含副檔名)] -l [語言代碼] [其他選項]
  • [圖片路徑]: 你的圖片檔案,如 my_invoice.jpg

  • [輸出檔名]: 辨識後的文字要存檔的名稱,Tesseract 會自動加上 .txt 副檔名。如果設為 stdout,則會直接在螢幕上輸出結果。

  • -l [語言代碼]: 指定要使用的語言。

    • 繁體中文: chi_tra

    • 簡體中文: chi_sim

    • 英文: eng

    • 若要同時辨識多種語言 (例如中英混合),可以用 + 連接:-l chi_tra+eng

範例

假設我有一張名為 test_image_chi.png 的圖片,內容是繁體中文。

  1. 開啟終端機或 CMD,並 cd 到圖片所在的資料夾。

  2. 執行以下指令:

    Bash
    # 辨識繁體中文,並將結果儲存到 output.txt
    tesseract test_image_chi.png output -l chi_tra
    
    # 辨識繁體中文和英文的混合內容,並直接在螢幕上顯示結果
    tesseract test_image_chi.png stdout -l chi_tra+eng
    
  3. 執行完畢後,資料夾內會多一個 output.txt 檔案,裡面就是辨識出來的文字。

常用選項

  • --psm <數字>: 設定頁面分割模式 (Page Segmentation Mode),告訴 Tesseract 如何分析頁面。

    • --psm 3: 全自動頁面分割 (預設)。

    • --psm 6: 假設為單一文字區塊。

    • --psm 7: 將圖片視為單行文字。

    • 輸入 tesseract --help-psm 可以看到所有模式的說明。

  • --oem <數字>: 設定 OCR 引擎模式 (OCR Engine Mode)。

    • --oem 3: 預設模式,使用基於 LSTM 的引擎。在 v5 中這是唯一選項。


2. 在 Python 中使用 (推薦)

對於開發者來說,最常見的是在程式中呼叫 Tesseract。Python 的 pytesseract 套件是對 Tesseract 命令列工具的封裝,非常好用。

安裝步驟

  1. 請務必先完成第一部分的 Tesseract 主程式安裝! pytesseract 只是個介面,不是 OCR 引擎本身。

  2. 安裝 pytesseractPillow (用於圖片處理) 套件:

    Bash
    pip install pytesseract Pillow
    

Python 程式碼範例

Python
import pytesseract
from PIL import Image

# 如果 Tesseract 沒有安裝在系統預設路徑,需要手動指定路徑
# 在 Windows 上,路徑通常是 'C:\Program Files\Tesseract-OCR\tesseract.exe'
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

# 定義圖片路徑
image_path = 'test_image_chi.png'

try:
    # 打開圖片
    img = Image.open(image_path)

    # 設定辨識語言 (繁體中文 + 英文)
    lang = 'chi_tra+eng'
    
    # 呼叫 pytesseract 進行辨識
    text = pytesseract.image_to_string(img, lang=lang)

    # 印出辨識結果
    print("--- 辨識結果 ---")
    print(text)

except FileNotFoundError:
    print(f"錯誤:找不到圖片檔案於 '{image_path}'")
except pytesseract.TesseractNotFoundError:
    print("錯誤:Tesseract 未安裝或未被加入到系統 PATH。")
    print("請確保 Tesseract OCR 已正確安裝,並可從命令列執行。")

總結

  1. 安裝主程式:根據你的作業系統,透過安裝檔 (Windows) 或套件管理器 (macOS/Linux) 安裝 Tesseract。

  2. 安裝語言包:確保需要的語言 (如 chi_tra) 已經安裝。

  3. 測試使用

    • 初學者/快速測試:使用 tesseract 命令列工具。

    • 開發者/專案整合:在 Python 中使用 pytesseract 套件來呼叫 Tesseract 引擎。


沒有留言:

張貼留言