2013-03-09 128 views
6

我已经有一段时间在我的MBP上运行了tesseract和Tess4J。今天,我开始将我的应用程序迁移到服务器,并开始在服务器上安装所有内容。在Tomcat中运行Tess4J之前,我试图运行一个简单的java程序来确保一切都很好,很花哨。这不是......无法加载库'tesseract':libtesseract.so:无法打开共享对象文件:没有这样的文件或目录

  • 我已经安装了正方体和其工作的罚款CentOS的64位服务器上 - tesseract myimage.jpg mytext产生数据

但是,运行我的简单的类,useses Tess4j产生这个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': libtesseract.so: cannot open shared object file: No such file or directory

我所做到目前为止

  • 我已经跑了sudo ldconfig安装正方体
  • 后,我搜索libtesseract.so及其在服务器上/usr/local/lib/libtesseract.so

文件夹中包含以下文件:

myimge.png 
ghost4j-0.3.1.jar 
jai_imageio.jar 
jna.jar 
maslab.jar 
pngj.jar 
tess4j.jar 
TesseractExample.class 
TesseractExample.java 

正方体-v产生:

tesseract -v 
tesseract 3.02.02 
leptonica-1.69 
    libjpeg 6b : libpng 1.2.49 : libtiff 3.9.4 : zlib 1.2.3 

问题

如何让Tess4J知道libtesseract.so确实存在? enter code here

+0

你是怎么安装tesseract的?我按照[下面给出的链接](https://code.google.com/p/tesseract-ocr/downloads/list)下载了一个包含英文数据的文件,但似乎没有安装* tesseract,它似乎只是英文识别的数据。 – mmcrae 2014-10-26 21:23:57

+0

尝试http://stackoverflow.com/a/29726897/4499919 – udit043 2016-09-15 21:21:30

回答

2

也许这是一个32位库.so安装。

+0

我从这里安装了tesseract-ocr-3.02.eng.tar.gz http://code.google.com/p/tesseract-ocr/downloads/list并编译它。如果它安装了一个32位库...是否有解决方法? – Omnipresent 2013-03-09 04:41:22

+0

尝试设置库的路径,如下所示:http://www.chilkatsoft.com/java-loadLibrary-Linux.asp – 2013-03-09 04:47:54

+0

嗯,摆脱了'libtesseract。所以'错误,但现在我得到了同样的错误这两个'/usr/local/lib/libtesseract.so.3.0.2:liblept.so.3:无法打开共享对象文件:'这些都没有消失通过在代码中明确添加路径或将它们添加到已存在于java.library.path中的路径中 – Omnipresent 2013-03-09 04:57:50

2

有必要定义变量jna.platform.library.path。例如:

-Djna.platform.library.path=/usr/local/lib/

10

我已经过了这个问题。

做你的tesseract安装后运行: sudo ldconfig

IT固定对我来说。

+0

好的回答:-) – udit043 2016-09-15 21:21:12

+0

这对我有效,谢谢! – 2017-10-22 05:14:06

3

您必须将LD_LIBRARY_PATH环境变量设置为libtesseract.so所在的路径。

export LD_LIBRARY_PATH=/usr/local/lib 
+0

谢谢:)这工作对我来说 – Aadam 2016-10-06 19:28:21

+0

谢谢! 8小时后,我找到了你! – 2017-06-09 14:28:03

相关问题