原文链接:https://juejin.im/post/6844903939306078221
案例:在windows上项目是可以正常运行的,部署到Linux上后,运行报异常,异常内容为:Unable to load library ‘tesseract’: Native library (linux-x86-64/libtesseract),
报错原因就是项目无法加载库资源文件 libtesseract(在linux上是.so文件,windows是.dll文件)
一、编译环境: gcc gcc-c++ make(这个环境一般机器都具备,可以忽略)
yum install gcc gcc-c++ make
二、通过yum安装autoconf automake libtool和libjpeg-devel libpng-devel libtiff-devel zlib-devel:
yum install autoconf automake libtool
yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel
三、安装依赖的Leptonica库:使用 su root 切换到root用户下安装,避免编译过程中的权限不足问题
wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz
tar -xzvf leptonica-1.78.0.tar.gz
cd leptonica-1.78.0
./configure
make && make install
四、安装Tesseract-OCR:使用 su root 切换到root用户下安装,避免编译过程中的权限不足问题
wget https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/4.1.0
tar -xzvf tesseract-4.1.0.tar.gz
cd tesseract-4.1.0/
./autogen.sh
./configure
make && make install
sudo ldconfig
注:这时有可能会报 configure: error: Leptonica 1.74 or higher is required. Try to install libleptonica-dev package.
解决方法:
(1)加入环境变量
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
(2)刷新下文件
source /etc/profile
(3)重新执行
./autogen.sh
./configure
make && make install
sudo ldconfig
四、复制tess4j要的linux依赖库链接
cp /usr/local/lib/*.so.* /usr/lib64/
五、下载预训练文件
将训练文件放至 /usr/local/share/tessdata 目录
下载地址:https://github.com/tesseract-ocr/tessdata
chi_sim.traineddata 中文
eng.traineddata 英文
enm.traineddata 数字
六、安装完成测试
(1)方式一:执行命令响应不报错
tesseract
(2)方式二:执行命令识别图片中的文字并保存进本地的文本中
tesseract 图片名 输出文本名 -l eng
七、测试通过后重新运行部署的tess4j项目