Tesseract 3.04 + VS2013 配置心得(包括靜態庫版本號和Release版本號)


研究Tesseract也有幾個星期了 走了一些彎路 網上有非常多VS2010的配置心得 但沒有VS2013的, 找到一篇之后, 又發現會有一些小問題, 這里記錄下來, 也為新人提供一些幫助.


Tesseract官網:https://code.google.com/p/tesseract-ocr/


還是先說下Tesseract庫的依賴架構:


有了這個庫的依賴關系, 就能夠說下自己配置VS2013版本號的目的了:

a. 因為網上現有的都是現編譯好的GIF, JPEG,PNG,TIFF,ZLIB庫的DLL_DEBUG版本號的Binaries.  操作起來非常不方便, 若自己想用LibTesseract和Leptonica Lib生成一個DLL給exe調用, 因為底層是動態鏈接庫, 則必須帶上LibTesseract.lib, LibTesseract.dll, LibLeptonica.lib, LibLeptonica.dll, 顯得累贅.所以將底層編譯成靜態庫, 是我的目標. 另一個理由就是Release版本號的編譯, 也須要源代碼.

b. 因為找不到(或者不太好找)這些庫VS2010版本號的project, 想自己編譯這些庫的源碼,編譯成想用的靜態庫版本號則非常麻煩.

當我在尋找這個解決方式的時候, 無意發現以下這種方法自帶了這些圖像庫的編譯project,並且還是VS2013版本號的, 省了非常多事


配置VS2013的詳細方法, 請參考:http://vorba.ch/2014/tesseract-3.03-vs2013.html


注意事項:
1) 安裝好 SlickSVN 后, cmd下並不能直接調用:
"git clone git://github.com/pvorb/tesseract-vs2013.git"
須要你在git命令行下調用, 所以你記得裝下git


2)調用"msbuild build.proj"的時候, 可能會出現錯誤(不一定), 臨時解決方法是:

 changed all "l_int32" to "int" in "liblept\src\boxfunc1.c"&"liblept\src\utils.c"


3)Build Tesseract的時候, 在cmd下輸入

"svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr"
會出錯,原因是被GFW牆了, 所以記得翻牆(VPN)


4)調用Tesseract庫(libtesseract304.dll)的時候會出現錯誤, 須要使用"strcpy"類函數的安全函數"strcpy_s", 

改動"Project Property - Configuration Property - C/C++ - General - SDL checks" 為"NO(/sdl-)"就可以


5)調用"libtesseract304.dll"的時候所需的"Tesseract"頭文件跟v2008相比, 沒有最新的.py文件幫忙copy了, 

有2個方法:
第一種: 土辦法, 一個一個找吧, 看"tesseract.exe"所依賴的頭文件就可以, 一個一個手動加入吧, 也沒多少
另外一種: "Tesseract-Build/tesseract-ocr/vs2008/doc/maintenance.html"下
有個"Updating the VS2008 directory for new releases of Tesseract-OCR"的方法
又一次寫個.py也不錯.


6)調用Tesseract庫的時候你若想自己主動匹配Leptonica和Tesseract庫的版本, 則記得加入".prop"配置到project,

位置在:"Tesseract-Build\tesseract-ocr\vs2010\include"

這樣, 你僅僅須要在link里, 指定"liblept$(LIBLEPT_VERSION)d.lib"和"libtesseract$(LIBTESS_VERSION)d.lib"即可了.


Tesseract OCR 討論群 389402579  


免責聲明!

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



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