資源描述:
《windows環(huán)境下編譯tesseract-ocr》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、windows環(huán)境下編譯Tesseract-OCR概述最近要用java實(shí)現(xiàn)一個(gè)驗(yàn)證碼識(shí)別系統(tǒng),選了半天之后最終決定用Tesseract-OCR作為識(shí)別引擎。既然是java+Tesseract-OCR,自然就首選Tess4J。由于Tess4J直接且僅提供了編譯成dll的3.02版本的Tesseract-OCR,而我的最終目標(biāo)Linux下使用且想自己更換Tesseract-OCR的版本,就決定自己動(dòng)手對(duì)Tesseract-OCR的代碼進(jìn)行編譯。而這篇文章就是這次研究的中間產(chǎn)物。雖然Tess4J目前支持的是Tesseract-OCR3.02,
2、但Tesseract-OCR無(wú)法在Tess4J中直接進(jìn)行使用,還需要使用capi進(jìn)行封裝,但這個(gè)就是后話了,本文僅介紹如何在windows環(huán)境下編譯Tesseract-OCR。準(zhǔn)備工作根據(jù)GoogleCode上下載Tesseract-OCR的windows安裝版本測(cè)試的結(jié)果及官方說(shuō)明文檔,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照這個(gè)目標(biāo)來(lái)收集所需的支持庫(kù)。由于最終目標(biāo)是在Linux下編譯成功,所以我選擇了msys+tdm-gcc來(lái)模擬Linux下的編譯過(guò)程。需要下載的庫(kù)有:1)zli
3、b-1.2.72)libpng-1.5.103)giflib-4.1.64)libungif-4.1.4(這個(gè)似乎在最終的編譯過(guò)程中沒(méi)有起作用)5)jpeg-8d6)jbigkit-2.07)tiff-3.9.58)libwebp-0.1.39)leptonica-1.68編譯環(huán)境推薦使用最新的msys和tdm-gcc:1)msys可以通過(guò)下載mingw-get-insta-20120426進(jìn)行安裝。2)tdm-gcc推薦使用4.5.2版本。Tesseract-OCR3.02可以通過(guò)svn獲取,地址是:http://tesseract-
4、ocr.googlecode.com/svn/trunk編譯本節(jié)所列出的為完整的編譯過(guò)程及步驟順序,請(qǐng)按照順序進(jìn)行。以下所述步驟均在msys+tdm-gcc4.5.2測(cè)試通過(guò)。執(zhí)行命令前,請(qǐng)先解壓縮,并進(jìn)入解壓縮后的目錄。zlib-1.2.7解壓后進(jìn)入代碼目錄,執(zhí)行以下命令:./configuremake-fwin32/makefile.gccmake-fwin32/makefile.gccinstallINCLUDE_PATH=/usr/local/include/zlibLIBRARY_PATH=/usr/local/libBINA
5、RY_PATH=/usr/local/binSHARED_MODE=1libpng-1.5.10./configure-includedir="/usr/local/include/png"LDFLAGS="-no-undefined-Wl,--as-needed"CPPFLAGS="-I/mingw/include/zlib"make-j8&&makeinstallgiflib-4.1.6./autogen.sh./configureLDFLAGS="-no-undefined-Wl,--as-needed"-includedir="
6、/usr/local/include/gif"cdlibmake-j8&&makeinstalllibungif-4.1.4./autogen.sh./configureLDFLAGS="-no-undefined-Wl,--as-needed"-includedir="/usr/local/include/ungif"cdlibmake-j8&&makeinstalljpeg-8d./configureLDFLAGS="-no-undefined-Wl,--as-needed"-includedir="/usr/local/inclu
7、de/jpeg"make-j8&&makeinstalljbigkit-2.0jbigkit由tiff組件所使用,雖不是必選項(xiàng),但為了保證過(guò)程的完整這里也順帶一提。由于jbig的Makefile中僅提供生成靜態(tài)庫(kù)的動(dòng)作,因此必須自己手動(dòng)在Makefile中加入生成動(dòng)態(tài)庫(kù)的部分,否則在鏈接tiff庫(kù)時(shí)也僅能生成靜態(tài)庫(kù)。從而影響到leptonica的鏈接。tiff-3.9.5./autogen.sh./configureLDFLAGS="-no-undefined-Wl,--as-needed"-includedir="/usr/local
8、/include/tiff"--with-zlib-include-dir="/mingw/include/zlib"--with-zlib-lib-dir="/mingw/lib"--with-jpeg-