簡介
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
說明
- 從發布頁面下載 AppImage
- 開啟您的終端應用程式(如果尚未開啟)
- 瀏覽至 AppImage 的位置
- 使 AppImage 可執行
$ chmod a+x tesseract*.AppImage
- 執行它
./tesseract*.AppImage -l eng page.tif page.txt
AppImage 相容性
- Debian: ≥ 10
- Fedora: ≥ 29
- Ubuntu: ≥ 18.04
- CentOS ≥ 8
- openSUSE Tumbleweed
包含的 traineddata 檔案
- deu - 德文
- eng - 英文
- fin - 芬蘭文
- fra - 法文
- osd - 腳本和方向
- por - 葡萄牙文
- rus - 俄文
- spa - 西班牙文
snap
對於 snapd 支援的發行版,您也可以執行以下命令來安裝 tesseract
建置的二進位檔(尚未安裝 snapd?)
sudo snap install --channel=edge tesseract
traineddata 目前未隨 snap 套件提供,必須手動放置到 ~/snap/tesseract/current
。
macOS
您可以使用 MacPorts 或 Homebrew 安裝 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 開發人員論壇,如果您仍然找不到您需要的資訊,請在那裡詢問我們。