Springboot tess4j(java)报Unable to load library ‘tesseract‘: Native library解决办法
tesseract
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
项目地址:https://gitcode.com/gh_mirrors/te/tesseract

·
1、tess4j项目部署到liunx上出现如下问题:
/tmp/tess4j/tessdata
Exception in thread "panleScan" java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so) not found in resource path ([file:/data/alarm-test/alarm-1.1.0.jar])
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:502)
at com.sun.jna.Native.loadLibrary(Native.java:481)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:75)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:263)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:244)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:228)
at com.staryea.panel.util.Tess4J.executeTess4J(Tess4J.java:28)
at com.staryea.panel.scan.ScanService.login(ScanService.java:39)
at com.staryea.panel.worker.PanelWorker.login(PanelWorker.java:144)
at com.staryea.panel.worker.PanelWorker.run(PanelWorker.java:65)
at java.lang.Thread.run(Thread.java:745)
2、解决方法:
你需要在centos 安装一些图像的包
yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib*
然后安装tesseract包
yum install tesseract安装之后,需要让程序调用,所以要暴露出来
通过rpm -qal | grep tesseract 查找安装的文件命令
打开这个文件,vim ~/.bash_profile添加下面两个
LD_LIBRARY_PATH=/usr/lib64/
export LD_LIBRARY_PATH
再运行source ~/.bash_profile 使文件生效
3、碰到这种错误,那就是你的内存不足了,换机器或者添加内存吧
Error opening data file /root/project/java/tesseract_model/tessdata/chi_sim.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'chi_sim'
Tesseract couldn't load any languages!
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f23c034ea5f, pid=3476, tid=0x00007f23c22a4700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_221-b11) (build 1.8.0_221-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.221-b11 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libtesseract.so.3.0.4+0xc3a5f] tesseract::Tesseract::recog_all_words(PAGE_RES*, ETEXT_DESC*, TBOX const*, char const*, int)+0x
#
# Core dump written. Default location: /root/project/java/vue-exercise/core or core.3476
下面的文章描述的比较详细可供参考




tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
最近提交(Master分支:7 个月前 )
014b9d00 - 3 个月前
13c966b7 - 3 个月前
更多推荐
所有评论(0)