Tesseract 是一個開源的光學字符識別(OCR)引擎,能夠將圖像中的文本轉換為可編輯的文本。它由 Google 維護和開發,支持多種語言和字符集。
GitHub 位置:tesseract-ocr/tesseract
Tesseract 的核心引擎和支援格式有哪些?
Tesseract 4 添加了一個新的基於神經網路(LSTM)的 OCR 引擎,該引擎專注於行識別,但仍然支援 Tesseract 3 的傳統 OCR 引擎,該引擎透過識別字元模式來工作。使用舊版 OCR 引擎模式(`--oem 0`)可以啟用與 Tesseract 3 的相容性,但也需要支援舊引擎的 traineddata 檔(例如來自 tessdata 儲存庫的檔案)。
Tesseract 支援 Unicode(UTF-8),可以「開箱即用」地識別 100 多種語言。支援多種圖像格式,包括 PNG、JPEG 和 TIFF。支援各種輸出格式:純文本、hOCR(HTML)、PDF、不可見文本 PDF、TSV、ALTO 和 PAGE。
主要功能和特點
- 多語言支持:Tesseract 支持超過 100 種語言,包括繁體中文。
- 高準確度:Tesseract 在文本識別方面具有較高的準確度,特別是經過適當的預處理後。
- 易於集成:Tesseract 可以與多種編程語言和工具集成,例如 Python、C++、Java 等,方便開發者在不同的應用場景中使用。
- 開源和免費:Tesseract 是開源軟件,可以自由使用和修改。
怎麼在 CentOS 安裝 Tesseract?
需要安裝兩個部分:引擎本身和語言的 traineddata。超過 130 種語言和超過 35 種腳本的軟體包也可以直接從 Linux 發行版取得。語言 traineddata 包稱為 `tesseract-ocr-langcode` 和 `tesseract-ocr-script-scriptcode`,其中 `langcode` 是三個字母的語言代碼,`scriptcode` 是四個字母的腳本代碼。
完整安裝教學可以參考官方文件:Installation on openSUSE。
以 root 身份在 CentOS 7 運行以下命令:
```bash
yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/
sudo rpm --import https://build.opensuse.org/projects/home:Alexander_Pozdnyakov/public_key
yum update
yum install tesseract
yum install tesseract-langpack-deu
```
除了套件管理器安裝,還有其他方式嗎?
也可以直接用 AppImage 執行:
- 從發佈頁面下載 AppImage
- 開啟終端應用程式
- 瀏覽到 AppImage 的位置
- 使 AppImage 可執行:`chmod a+x tesseract*.AppImage`
- 執行它:`./tesseract*.AppImage -l eng page.tif page.txt`
怎麼用 Python 呼叫 Tesseract 做 OCR?
`pytesseract` 是一個 Python 包裝器,用於調用 Tesseract OCR 引擎。先安裝套件:
```bash
pip install pytesseract
pip install pillow
```
接著就可以用幾行程式碼對圖片做 OCR,這裡示範讀取繁體中文語言包:
```python
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'/usr/local/bin/tesseract' # 替換為你的 tesseract 安裝路徑
image = Image.open('example.png')
text = pytesseract.image_to_string(image, lang='chi_tra') # 使用繁體中文語言包
print(text)
```
常見問題
Tesseract 辨識繁體中文效果好嗎?
Tesseract 支援繁體中文(`chi_tra` 語言包),但辨識準確度會受圖片品質、字體、排版影響很大。對於掃描件或雜訊較多的圖片,通常需要先做二值化、去噪等前處理,才能得到比較穩定的辨識結果。
`--oem 0` 和預設的 LSTM 引擎差在哪?
`--oem 0` 是切換回 Tesseract 3 時代、依字元模式識別的傳統引擎,需要對應的舊版 traineddata 檔;預設的 LSTM 引擎則是 Tesseract 4 之後主推的神經網路行識別引擎,多數情況下準確度會比傳統引擎好。
pytesseract 找不到 tesseract 執行檔怎麼辦?
要先確認系統上已經裝好 Tesseract 本體(前面 CentOS 安裝步驟那個引擎),再把 `pytesseract.pytesseract.tesseract_cmd` 設成該執行檔的實際路徑;不同作業系統的預設安裝路徑不同,Windows 常見在 `C:\Program Files\Tesseract-OCR\tesseract.exe`。
參考資料
最後更新
2026-08-27
延伸閱讀
關於作者 {#author}
Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。
首次發布:2024-06-24
