Tesseract OCR 原本是 HP 實驗室所發展的 OCR 引擎,2006 年釋出為開放原始碼專案,目前由 Google 維護發展。

這兩天因為有某專案需要使用文字辨識功能,原本打算使用 PHP 進行,不過效率不彰,所以投奔到 Tesseract 的懷抱,但是原始檔案中缺少 libtiff 的支援,這時候就需要自己動手編譯了。

所需軟體

步驟

下載 Tiff for Windows Complete package, except sources 並安裝。

開啟 tesseract.sln 專案

點選「工具 » 選項 » 專案和方案 » VC++ 目錄」右側的顯示目錄分別新增 Include 及 程式庫檔 並個別指向 Tiff for Windows 的 Include 及 Lib 資料夾。


在左側「方案總管」中,針對每個專案點選右鍵選擇「屬性 » 組態屬性 » C/C++ » 前置處理器」,右側的「前置處理器定義」加上 HAVE_LIBTIFF。

接著在「屬性 » 組態屬性 » 連接器 » 輸入」,右側的「其他相依性」加上 libtiff.lib。

設置完成後即可進行建置編譯。

這裡也有我編譯好的版本下載:Tesseract 2.04 Win32 Rebuild(2.40 MB)
SHA256: 02ade58c75542b5a69b13c9932ae8d921656bfb86fd839ec806a2022d48c24e0
內含:bbTesseract 可編輯學習檔、tessdata English、tessconfig

問題

Q: 執行 tesseract.exe 會提示「找不到 jpeg62.dll」
A: 將 C:\Program Files\GNUWin32\bin\jpeg62.dll 複製到 tesseract 目錄

Q: 執行 tesseract.exe 會提示「找不到 zlib1.dll」
A: 將 C:\Program Files\GNUWin32\bin\zlib1.dll 複製到 tesseract 目錄

延伸閱讀: