linux上部署tess4j項目
在windows上項目是可以正常運行的,部署到Linux上后,運行報異常,異常內容為:Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract)
這個報錯的原因就是項目無法加載庫資源文件 libtesseract(在linux上是.so文件,windows是.dll文件)
解決:
將/usr/local/lib下相關的tesseract和leptonica的library(.so)的文件復制到 /usr/lib下,問題解決,nice
記錄一下在Linux上部署tesseract
( 所需要的 Linux 安裝包 tesseract-ocr-3.02.02.tar.gz及安裝需要的leptonica-1.68.tar.gz 英文語言包 eng.traineddata.gz 戳鏈接:戳我)
1,編譯環境: gcc gcc-c++ make(這個環境一般機器都具備,可以忽略)
yum install gcc gcc-c++ make
2,autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel 可以通過yum安裝:
(1)yum install autoconf automake libtool
(2)yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel
3,安裝 leptonica
下載 leptonica-1.68.tar.gz
tar-zxvf leptonica-1.68.tar.gz
./configure
make
make install
ldconfig
//-----------------------------------------------------------------
make的時候發現錯誤,提示
pngio.c:119: error: ‘Z_DEFAULT_COMPRESSION’ undeclared here (not in a function)
去wiki上搜了一把發現是 pngio.c這個文件有個BUG,在MAC下無法找到zlib1g包修改Leptionica/src/pngio.c在 #include "png.h"后插入一下代碼即可。
1 #ifdef HAVE_LIBZ 2 #include "zlib.h" 3 #endif
//-----------------------------------------------------------------
4,安裝 tesseract
下載 tesseract-ocr-3.02.02.tar.gz
./autogen.sh
./configure
make
make install
ldconfig
如果需要在linux上運行帶tess4j的項目,需要將/usr/local/lib下相關的tesseract和leptonica的library(.so)的文件復制到 /usr/lib下
5,安裝語言包
下載 eng.traineddata.gz (如果需要驗證中文,就下載中文的語言包)
tar -zxvf eng.traineddata.gz

7,到這,你就可以敲下面的代碼驗證圖片中的文字了:
命令: tesseract 圖片名 輸出文本名 -l eng