win10 vs2015源碼編譯tesseract4.0


1.安裝軟件

安裝完畢后,需要將cmake.exe和cppan.exe加入環境變量PATH中

cmake簡介

CMake全稱為“cross platform make”,是一個開源的跨平台自動化構建系統。使用指定名為CMakeLists.txt的配置文件可以控制軟件的構建、測試和打包等流程。同時,通過編寫平台無關的CMakeLists.txt文件進行簡單的配置,CMake就能生成對應目標平台的構建文件。例如:linux系統的makefile文件、Windows的項目和解決方案(.sln)。

配置包括: 創建哪些項目、項目間的依賴關系、include哪些頭文件、編譯時生成靜態庫,動態庫還是可執行文件、以及生成的版本: (x86,x64)等。

cppan簡介

CPPAN是建立在CMake之上具有構建系統功能的跨平台C / C ++依賴管理器。 它支持快速的腳本式編碼和原型制作以及處理大型項目。 可以很方便的查找、共享和重用庫以及發布您的項目。你只需要將時間花在代碼上,而不需要管理依賴關系。 CPPAN幫您將包裝時間降低至幾秒鍾!它支持簡單的交叉編譯,繼承並且把你自己的設置、標志推送到每個依賴。

CPPAN之於C++就像Maven之於Java。CPPAN可以理解為C++的包管理器,包含了眾多依賴包,只需要向CPPAN指定依賴包,CPPAN就會幫你下載好需要的依賴包和相關配置。

CPPAN通過cppan.yml文件配置相關依賴項目。

通過dependencies指令說明依賴項,這里依賴leptoncia,對應的版本為1,這里1表示1.*.*,也就是主版本為1的都可以。

cppan簡單使用

 

 2.  生成解決方案(.sln)

下載tesseract源碼:

git clone https://github.com/tesseract-ocr/tesseract tesseract

生成x64版本的解決方案

cd tesseract   # 進入源代碼目錄
cppan    # 下載相關的的依賴,【下載時間可能很長,需要耐心等待】
mkdir win64 && cd win64
cmake .. -G "Visual Studio 14 2015 Win64"

生成x86版本的解決方案

cd tesseract
cppan
mkdir build && cd build
cmake ..

3. 編譯

這里選擇x64版本, 打開win64目錄下的tesseract.sln,這里選擇release模式。選擇”生成" -> "生成解決方案"

 

編譯過程中會遇到很多錯誤,如C2001和C3668,如圖:

g_set_error (error, G_KEY_FILE_ERROR,
                       G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
                       _("Key file contains unsupported "
             "encoding “%s”"), value_utf8);

# 上面代碼中出現了中文雙引號

錯誤的原因:

其實都是文件編碼問題。下載得到的文件編碼為UTF-8(不帶簽名),而Visual Studio (中文版)默認保存的文本文件是GB2312編碼,對於UTF-8編碼的某些字符,在中文版VS下就容易因解碼錯誤導致亂碼造成編譯錯誤。

解決方法: 只需要雙擊對應的錯誤,跳轉到對應的文件,然后點擊左上角菜單 “文件選項" 下的"高級保存選項",選擇unicode(utf-8帶簽名).保存后再“生成"即可。

需要修改的文件:

 

UTF-8 帶簽名或者UTF-8 無簽名區別:

帶簽名比無簽名開頭多了BOM 信息,UTF-8 的 BOM 是 0xEFBBBF,帶簽名的將更容易被解析器以正確的編碼方式進行解析。

 

建議:

先"生成”項目"cppan-d-b-d", 再“生成"整個解決方案

遇到錯誤,雙擊錯誤,進入錯誤提示行后,點擊左上角菜單 “文件"下的"高級保存選項",選擇unicode(utf-8帶簽名).保存后右擊項目選擇"生成",逐個解決錯誤。

 

效果:

 

4.安裝

找到CMakeTargets中的INSTALL,然后右鍵選擇僅限於項目–>僅生成INSTALL

 此外, 還需要將win64\bin\Release目錄下的dll拷貝到install\bin目錄下

 64位默認安裝位置為C:/Program Files/tesseract,因此安裝需要管理員權限

錯誤提示如下:

 

修改程序安裝位置

 

# 通過指定CMAKE_INSTALL_PREFIX設置安裝目錄
cmake -D CMAKE_INSTALL_PREFIX=D:/tesseract/install -G "Visual Studio 14 2015 Win64" .. 

 

打開解決方案所在目錄下的CMakeCache.txt, 查看CMAKE_INSTALL_PREFIX 配置修改是否生效

 

 

 5. 環境變量配置

  • 將tesseract.exe所在路徑加入環境變量PATH中
  • 添加環境變量TESSDATA_PREFIX,其值為tessdata目錄所在路徑

訓練文件下載下載地址:  https://github.com/tesseract-ocr/tessdata 

沒有設置TESSDATA_PREFIX,在命令行使用tesseract會出現如下提示:

 

參考: https://github.com/tesseract-ocr/tesseract/wiki/Compiling#windows


免責聲明!

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



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