由於在服務器上安裝tesseract yum只能拉到3.X版本 而測試來看4.0以上版本識別效果比3.x要好很多。於是只能通過編譯代碼形式安裝最新版了
首先在機器上找個目錄 打開官方git https://github.com/tesseract-ocr
打到4.1分支 我們在服務器上找個目錄 git clone https://github.com/tesseract-ocr/tesseract.git
- 如果新機器就隨手安裝上工具包
yum install gtk2-devel yasm glibc.i686 libstdc++.so.6 libgtk-x11-2.0.so libatk-1.0.so.0 libcairo.so.2 libcups.so.2 libgdk-x11-2.0.so.0 libgdk_pixbuf-2.0.so.0 libgtk-x11-2.0.so.0 libpango-1.0.so.0 libpangocairo-1.0.so.0 libICE.so.6 libSM.so.6 libmng.so.1 libpng12.so.0 libGLU.so.1 -y
- 安裝開發工具
yum groupinstall "Development Tools"
- 安裝leptonica1.7(4.0要修必須在1.74以上)
wget http://www.leptonica.org/source/leptonica-1.74.4.tar.gz
tar -xzvf leptonica-1.74.4.tar.gz cd leptonica-1.74.4 ./configure --prefix=/usr/local/ make && make install
配置環境
vim \etc\bashrc
加入
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib
export LIBRARY_PATH
TESSDATA_PREFIX=/root/tesseract/
export TESSDATA_PREFIX
回到tesseract目錄,開始安裝
./autogen.sh
./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/include
注:這時有可能會報 configure: error: Leptonica 1.74 or higher is required. Try to install libleptonica-dev package.
明明我們已經安裝了的。為什么還會報呢?
那就要加入環境變量
vim /etc/profile
在最后插入
export LD_LIBRARY_PATH=$LD_LIBRARY_PAYT:/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
最后刷新下文件
source /etc/profile
然后我們再執行
./autogen.sh ./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/include
這時就沒有 leptonica問題啦,隨后make下
make && sudo make install
最后我們用代碼測試一切都正常,但到項目中卻莫明奇妙地失敗,斷點服務直接崩掉,cache不住,找不到報錯
各種百度google最后確認下來可能少了tess4j要的linux依賴庫
執行下
cp /usr/local/lib/*.so.* /usr/lib64/
如果報
Error in findTiffCompression: function not present
Error in pixReadStreamTiff: function not present
Error in pixReadStream: tiff: no pix returned
Error in pixRead: pix not read
Unsupported image type.
相關。
那就是沒有少了png和jpge依賴庫
yum install libjpeg-devel yum install libpng-devel
進入leptonica的安裝文件夾重新編譯
./configure make make install
到此基本所有問題都 解決了。運行項目正常