tesseract 編譯與使用(windows)


tesseract是google的一個開源OCR項目,項目地址已經遷移到github(現在 2016/09),地址 https://github.com/tesseract-ocr/tesseract

 

首先使用git將代碼clone到本地。使用最新的commit, SHA-1: c943fc1a339d6378f34cccf4ff96949adb2f37ec

編譯步驟參考 https://github.com/tesseract-ocr/tesseract/wiki/Compiling

下面是詳細步驟和相關問題解決方法

我使用的VS2010

 

1.安裝cmake 並添加到環境變量.下載地址 https://cmake.org/download/

2.安裝cppan 並添加到環境變量,下載地址 https://cppan.org/client/cppan-master-win32-client.zip

3.在你本地的源碼目錄tesseract下執行下列命令

cppan
mkdir build && cd build
cmake .. -DSTATIC=1

 

注意:cppan執行過程中可能需要FANQIANG。

4.在tesseract\build目錄下生成了項目文件,使用VS打開tesseract.sln,如下

 

啟動項目是ALL_BUILD,解決方案配置我使用的是 Release。開始編譯,當然這過程中會出現一大堆錯誤和警告,不用理會靜靜等待編譯完成

1.使用可以轉換編碼格式的工具,將 tesseract\ccmain\equationdetect.cpp 的格式轉化下。 我使用的是 Notepad ++ ,格式->轉為 ANSI 編碼格式

原因:tesseract的源文件的編碼格式是UTF-8的,但是中文系統下VS里的代碼頁編碼格式是GB2312

 

2.bool相關,根據錯誤信息定位到pvt.cppan.demo.gif這個項目,我的是 pvt.cppan.demo.gif-5.1.4.vcxproj ,雙擊打開之,然后在項目中找到 stdbool.h,然后將

#define bool    _bool

更換為

#define bool    int

 

3. snprintf相關,根據錯誤信息定位到pvt.cppan.demo.tiff這個項目,我的是 pvt.cppan.demo.tiff-4.0.6,雙擊打開之,然后在項目中找到  tiffiop.h ,定位到

#if !defined(HAVE_SNPRINTF) && !defined(HAVE__SNPRINTF)
#undef snprintf

將下面的3行換成

#define snprintf _snprintf
//extern int snprintf(char* str, size_t size, const char* format, ...);
#endif

 

然后切換到 tesseract.sln ,清理解決方案重新編譯一遍。

 

然后將 tesseractmain 設為啟動項目,編譯。

 

編譯步驟到此結束,可執行文件在 tesseract\build\bin\Release 下,但是現在還不能直接用,沒有語言包。

語言包下載地址

英文 https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddata
簡中 https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata 
繁中 https://github.com/tesseract-ocr/tessdata/raw/master/chi_tra.traineddata

 

創建一個tessdata目錄,和tesseract.exe同級,將下載的語言包復制到tessdata目錄下。然后打開cmd,執行命令就可以看到結果

 

tesseract.exe test.png -l eng+chi_sim result

 

test.png 是待識別的圖片

-l eng+chi_sim 指定識別語言為英文和簡體中文,多語言使用+連接

result 指定輸出的文本文件

 

 

 

更多的命令請參考 https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM