導航:首頁 > 編程系統 > linuxtess4j

linuxtess4j

發布時間:2024-09-11 08:55:27

『壹』 如何在windows上編譯Tesseract OCR

最近要用java實現一個驗證碼識別系統,選了半天之後最終決定用Tesseract-OCR作為識別引擎。既然是java+Tesseract-OCR,自然就首選Tess4J。由於Tess4J直接且僅提供了編譯成dll的3.02版本的Tesseract-OCR,而我的最終目標Linux下使用且想自己更換Tesseract-OCR的版本,就決定自己動手對Tesseract-OCR的代碼進行編譯。而這篇文章就是這次研究的中間產物。
雖然Tess4J目前支持的是Tesseract-OCR 3.02,但Tesseract-OCR無法在Tess4J中直接進行使用,還需要使用capi進行封裝,但這個就是後話了,本文僅介紹如何在windows環境下編譯Tesseract-OCR。

准備工作
根據GoogleCode上下載Tesseract-OCR的windows安裝版本測試的結果及官方說明文檔,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照這個目標來收集所需的支持庫。由於最終目標是在Linux下編譯成功,所以我選擇了msys+tdm-gcc來模擬Linux下的編譯過程。

需要下載的庫有:
1) zlib-1.2.7
2) libpng-1.5.10
3) giflib-4.1.6
4) libungif-4.1.4(這個似乎在最終的編譯過程中沒有起作用)
5) jpeg-8d
6) jbigkit-2.0
7) tiff-3.9.5
8) libwebp-0.1.3 9) leptonica-1.68

編譯環境推薦使用最新的msys和tdm-gcc:
1) msys可以通過下載mingw-get-insta-20120426進行安裝。
2) tdm-gcc推薦使用4.5.2版本。
Tesseract-OCR 3.02可以通過svn獲取,地址是:http://tesseract-ocr.googlecode.com/svn/trunk
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);

編譯
本節所列出的為完整的編譯過程及步驟順序,請按照順序進行。以下所述步驟均在msys+tdm-gcc4.5.2測試通過。執行命令前,請先解壓縮,並進入解壓縮後的目錄。
zlib-1.2.7
解壓後進入代碼目錄,執行以下命令: ./configure
make -f win32/makefile.gcc
make -f win32/makefile.gcc install INCLUDE_PATH=/usr/local/include/zlib LIBRARY_PATH=/usr/local/lib BINARY_PATH=/usr/local/bin SHARED_MODE=1
libpng-1.5.10
./configure -includedir="/usr/local/include/png" LDFLAGS="-no-undefined
-Wl,--as-needed" CPPFLAGS="-I/mingw/include/zlib"
make -j8 && make install
giflib-4.1.6
./autogen.sh
./configureLDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/gif"
cd lib
make -j8 && make install
libungif-4.1.4
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/ungif"
cd lib
make -j8 && make install
jpeg-8d
./configure
LDFLAGS="-no-undefined
-Wl,--as-needed"
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
-includedir="/usr/local/include/jpeg"
make -j8 && make install
jbigkit-2.0
jbigkit由tiff組件所使用,雖不是必選項,但為了保證過程的完整這里也順帶一提。
由於jbig的Makefile中僅提供生成靜態庫的動作,因此必須自己手動在Makefile中加入生成動態庫的部分,否則在鏈接tiff庫時也僅能生成靜態庫。從而影響到leptonica的鏈接。
tiff-3.9.5
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/tiff" --with-zlib-include-dir="/mingw/include/zlib" --with-zlib-lib-dir="/mingw/lib" --with-jpeg-include-dir="/mingw/include/jpeg" --with-jpeg-lib-dir="/mingw/lib" --with-jbig-include-dir="/mingw/include/jbig" --with-jbig-lib-dir="/mingw/lib"
make -j8 && make install
libwebp-0.1.3
./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/webp" --with-pngincludedir="/mingw/include/png" --with-pnglibdir="/mingw/lib" --with-jpegincludedir="/mingw/include/jpeg" --with-jpeglibdir="/mingw/lib" CPPFLAGS="-DQGLOBAL_H"
make -j8 && make install
leptonica-1.68
autobuild ./configure -includedir="/usr/local/include" LDFLAGS="-no-undefined" CPPFLAGS="-I/mingw/include/zlib -I/mingw/include/png -I/mingw/include/gif -I/mingw/include/ungif -I/mingw/include/jpeg -I/mingw/include/tiff -I/mingw/include/webp"
make -j8 && make install 說明:
使用了zlib庫後,可能導致編譯出錯。這時請修改pngio.c: 在#include "png.h"後添加 #ifdef HAVE_LIBZ #include "zlib.h"

『貳』 如何在windows上編譯Tesseract OCR

最近要用java實現一個驗證碼識別系統,選了半天之後最終決定用Tesseract-OCR作為識別引擎。既然是java+Tesseract-OCR,自然就首選Tess4J。由於Tess4J直接且僅提供了編譯成dll的3.02版本的Tesseract-OCR,而我的最終目標Linux下使用且想自己更換Tesseract-OCR的版本,就決定自己動手對Tesseract-OCR的代碼進行編譯。而這篇文章就是這次研究的中間產物。
雖然Tess4J目前支持的是Tesseract-OCR 3.02,但Tesseract-OCR無法在Tess4J中直接進行使用,還需要使用capi進行封裝,但這個就是後話了,本文僅介紹如何在windows環境下編譯Tesseract-OCR。

准備工作
根據GoogleCode上下載Tesseract-OCR的windows安裝版本測試的結果及官方說明文檔,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照這個目標來收集所需的支持庫。由於最終目標是在Linux下編譯成功,所以我選擇了msys+tdm-gcc來模擬Linux下的編譯過程。

需要下載的庫有:
1) zlib-1.2.7
2) libpng-1.5.10
3) giflib-4.1.6
4) libungif-4.1.4(這個似乎在最終的編譯過程中沒有起作用)
5) jpeg-8d
6) jbigkit-2.0
7) tiff-3.9.5
8) libwebp-0.1.3 9) leptonica-1.68

編譯環境推薦使用最新的msys和tdm-gcc:
1) msys可以通過下載mingw-get-insta-20120426進行安裝。
2) tdm-gcc推薦使用4.5.2版本。
Tesseract-OCR 3.02可以通過svn獲取,地址是:http://tesseract-ocr.googlecode.com/svn/trunk
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);

編譯
本節所列出的為完整的編譯過程及步驟順序,請按照順序進行。以下所述步驟均在msys+tdm-gcc4.5.2測試通過。執行命令前,請先解壓縮,並進入解壓縮後的目錄。
zlib-1.2.7
解壓後進入代碼目錄,執行以下命令: ./configure
make -f win32/makefile.gcc
make -f win32/makefile.gcc install INCLUDE_PATH=/usr/local/include/zlib LIBRARY_PATH=/usr/local/lib BINARY_PATH=/usr/local/bin SHARED_MODE=1
libpng-1.5.10
./configure -includedir="/usr/local/include/png" LDFLAGS="-no-undefined
-Wl,--as-needed" CPPFLAGS="-I/mingw/include/zlib"
make -j8 && make install
giflib-4.1.6
./autogen.sh
./configureLDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/gif"
cd lib
make -j8 && make install
libungif-4.1.4
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/ungif"
cd lib
make -j8 && make install
jpeg-8d
./configure
LDFLAGS="-no-undefined
-Wl,--as-needed"
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
-includedir="/usr/local/include/jpeg"
make -j8 && make install
jbigkit-2.0
jbigkit由tiff組件所使用,雖不是必選項,但為了保證過程的完整這里也順帶一提。
由於jbig的Makefile中僅提供生成靜態庫的動作,因此必須自己手動在Makefile中加入生成動態庫的部分,否則在鏈接tiff庫時也僅能生成靜態庫。從而影響到leptonica的鏈接。
tiff-3.9.5
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/tiff" --with-zlib-include-dir="/mingw/include/zlib" --with-zlib-lib-dir="/mingw/lib" --with-jpeg-include-dir="/mingw/include/jpeg" --with-jpeg-lib-dir="/mingw/lib" --with-jbig-include-dir="/mingw/include/jbig" --with-jbig-lib-dir="/mingw/lib"
make -j8 && make install
libwebp-0.1.3
./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/webp" --with-pngincludedir="/mingw/include/png" --with-pnglibdir="/mingw/lib" --with-jpegincludedir="/mingw/include/jpeg" --with-jpeglibdir="/mingw/lib" CPPFLAGS="-DQGLOBAL_H"
make -j8 && make install
leptonica-1.68
autobuild ./configure -includedir="/usr/local/include" LDFLAGS="-no-undefined" CPPFLAGS="-I/mingw/include/zlib -I/mingw/include/png -I/mingw/include/gif -I/mingw/include/ungif -I/mingw/include/jpeg -I/mingw/include/tiff -I/mingw/include/webp"
make -j8 && make install 說明:
使用了zlib庫後,可能導致編譯出錯。這時請修改pngio.c: 在#include "png.h"後添加 #ifdef HAVE_LIBZ #include "zlib.h"

閱讀全文

與linuxtess4j相關的資料

熱點內容
成功正能量微信頭像 瀏覽:848
wps表格如何恢復數據 瀏覽:264
linuxc靜態庫創建 瀏覽:838
u盤有微信文件但微信恢復不了 瀏覽:585
蘋果的網站數據是什麼 瀏覽:22
ps滾字教程 瀏覽:237
win7網路鄰居如何保存ftp 瀏覽:186
安卓客戶端代理伺服器 瀏覽:572
編程用蘋果 瀏覽:659
51虛擬機的文件管理在哪裡 瀏覽:13
win10系統有沒有便簽 瀏覽:722
java引用傳遞和值傳遞 瀏覽:109
oracle下載安裝教程 瀏覽:854
php篩選資料庫 瀏覽:830
怎麼用手機看wlan密碼 瀏覽:745
奧維地圖導入的文件在哪裡 瀏覽:364
sdltrados2014教程 瀏覽:43
培訓制度文件在哪裡找 瀏覽:601
勒索病毒防疫工具 瀏覽:861
win10c不能打開 瀏覽:375

友情鏈接