跳至內容。

簡介

Tesseract 是一個開放原始碼的 文字辨識 (OCR) 引擎,以 Apache 2.0 授權發布。它可以直接使用,或者(對於程式設計師)使用 API 從圖像中提取列印文字。它支援多種語言。

Tesseract 沒有內建的 GUI,但可以從第三方頁面找到幾個。

安裝

安裝分為兩個部分,引擎本身和語言的 traineddata。

Tesseract 可直接從許多 Linux 發行版取得。該套件通常稱為 'tesseract''tesseract-ocr' - 請搜尋您的發行版的軟體庫以找到它。

超過 130 種語言和 35 種以上的腳本的套件也可直接從 Linux 發行版取得。語言的 traineddata 套件稱為 'tesseract-ocr-langcode''tesseract-ocr-script-scriptcode',其中 langcode 是三字母的語言代碼,而 scriptcode 是四字母的腳本代碼。

範例: tesseract-ocr-eng (英文),tesseract-ocr-ara (阿拉伯文),tesseract-ocr-chi-sim (簡體中文),tesseract-ocr-script-latn (拉丁文字),tesseract-ocr-script-deva (天城文字) 等。

** 僅限專家使用。**

如果您正在試驗 OCR 引擎模式,您將需要手動安裝超出 Linux 發行版提供的語言訓練資料。

可以在 GitHub 上找到各種訓練資料。解壓縮並將 .traineddata 檔案複製到 ‘tessdata’ 目錄中。確切的目錄將取決於訓練資料的類型和您的 Linux 發行版。可能的路徑為 /usr/share/tesseract-ocr/tessdata/usr/share/tessdata/usr/share/tesseract-ocr/4.00/tessdata

過時的 Tesseract 版本 =< 3.02 的訓練資料位於其他位置。

平台

如果您的發行版沒有 Tesseract,或者您想使用比它們提供的更新版本,您可以自行編譯

Ubuntu

您只需執行以下命令即可在 Ubuntu 上安裝 Tesseract 及其開發工具

sudo apt install tesseract-ocr
sudo apt install libtesseract-dev

Ubuntu 使用者注意事項:如果 apt 無法找到套件,請嘗試將 universe 條目新增至 sources.list 檔案中,如下所示。

sudo vi /etc/apt/sources.list

Copy the first line "deb http://archive.ubuntu.com/ubuntu bionic main" and paste it as shown below on the next line.
If you are using a different release of ubuntu, then replace bionic with the respective release name.

deb http://archive.ubuntu.com/ubuntu bionic universe

Debian 套件

Raspbian 套件

Ubuntu 套件

Ubuntu ppa

RHEL/CentOS/Scientific Linux、Fedora、openSUSE 套件

請參閱 在 OpenSuse 上安裝頁面以取得詳細說明。

AppImage

說明

  1. 發布頁面下載 AppImage
  2. 開啟您的終端應用程式(如果尚未開啟)
  3. 瀏覽至 AppImage 的位置
  4. 使 AppImage 可執行
    $ chmod a+x tesseract*.AppImage
  5. 執行它
    ./tesseract*.AppImage -l eng page.tif page.txt

AppImage 相容性

包含的 traineddata 檔案

snap

對於 snapd 支援的發行版,您也可以執行以下命令來安裝 tesseract 建置的二進位檔(尚未安裝 snapd?

sudo snap install --channel=edge tesseract

traineddata 目前未隨 snap 套件提供,必須手動放置到 ~/snap/tesseract/current

macOS

您可以使用 MacPortsHomebrew 安裝 Tesseract。

適用於 Tesseract API 的 macOS 封裝程式也可在 Tesseract macOS 中找到。

MacPorts

若要安裝 Tesseract,請執行此命令

sudo port install tesseract

若要安裝任何語言資料,請執行

sudo port install tesseract-<langcode>

可在MacPorts tesseract 頁面上找到可用的 langcode 清單。

Homebrew

若要安裝 Tesseract,請執行此命令

brew install tesseract

然後可以使用 brew info tesseract 找到 tesseract 目錄,例如 /usr/local/Cellar/tesseract/3.05.02/share/tessdata/

Windows

適用於 Windows 的 Tesseract 3.05、Tesseract 4 和 Tesseract 5 安裝程式可從 UB Mannheim 的 Tesseract 取得。這些包含訓練工具。32 位元和 64 位元安裝程式均可用。

適用於 Windows 的舊版 3.02 安裝程式可從我們的下載頁面取得。這包含英文訓練資料。如果您想使用其他語言,請下載適當的訓練資料,使用 7-zip 解壓縮,然後將 .traineddata 檔案複製到 ‘tessdata’ 目錄中,可能是 C:\Program Files\Tesseract-OCR\tessdata

若要從任何位置存取 tesseract-OCR,您可能需要將 tesseract-OCR 二進位檔所在的目錄新增至 Path 變數,可能是 C:\Program Files\Tesseract-OCR

專家也可以從 Appveyor 持續整合的建置成品中取得使用 Visual Studio 建置的二進位檔。

Cygwin

tesseract-ocr 的發布版本 >= 3.02 Cygwin 的一部分

可用的最新版本是 4.1.0。請參閱公告

MSYS2

安裝 tesseract-OCR

 pacman -S mingw-w64-{i686,x86_64}-tesseract-ocr

和資料檔案

 pacman -S mingw-w64-{i686,x86_64}-tesseract-data-eng

在以上命令中,“eng” 可以替換為受支援語言的ISO 639 三字母語言代碼。如需可用語言套件的清單,請使用

  pacman -Ss tesseract-data

其他平台

Tesseract 也可能在更特殊的平台上運作。您可以嘗試自行編譯,或查看使用 Tesseract 的其他專案清單。

執行 Tesseract

Tesseract 是一個命令列程式,因此請先開啟終端機或命令提示字元。命令的使用方式如下

  tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]

因此,對名為 ‘myscan.png’ 的圖像執行 OCR 並將結果儲存至 ‘out.txt’ 的基本用法會是

  tesseract myscan.png out

或者以德文執行相同的操作

  tesseract myscan.png out -l deu

它甚至可以一次使用多種語言的 traineddata,例如英文和德文

  tesseract myscan.png out -l eng+deu

Tesseract 也包含 hOCR 模式,該模式會產生一個特殊的 HTML 檔案,其中包含每個單字的座標。這可以用來建立可搜尋的 PDF,使用例如 Hocr2PDF 之類的工具。若要使用它,請使用 ‘hocr’ 設定選項,如下所示

  tesseract myscan.png out hocr

您也可以直接從 Tesseract 建立可搜尋的 PDF(版本 >=3.03)

  tesseract myscan.png out pdf

有關各種選項的更多資訊,請參閱 Tesseract manpage

其他語言

Tesseract 已針對多種語言進行訓練,請在 Tessdata 儲存庫中檢查您的語言。

它也可以經過訓練以支援其他語言和腳本;如需更多詳細資訊,請參閱 TrainingTesseract

開發

Tesseract 也可以在您自己的專案中使用,根據 Apache License 2.0 的條款。它具有完整功能的 API,並且可以針對各種目標進行編譯,包括 Android 和 iPhone。請參閱 第三方頁面以取得已完成的範例。請注意,目前為止,為 Mac 開發的第三方 Tesseract OCR 專案非常少(只有 Tesseract macOS.md),儘管有幾個可在 Mac 上使用的線上 OCR 服務,它們可能會使用 Tesseract 作為其 OCR 引擎。

此外,它是自由軟體,因此如果您想參與並提供協助,請盡情加入!如果您發現錯誤並自行修正,最好的方法是將修補程式附加到您在問題清單中的錯誤報告。

支援

請先閱讀文件,尤其是常見問題,看看您的問題是否已在那裡解決。如果沒有,請搜尋Tesseract 使用者論壇Tesseract 開發人員論壇,如果您仍然找不到您需要的資訊,請在那裡詢問我們。