linux中的java tesseract错误“无法加载库'tesseract':libtesseract.so”

时间:2013-08-24 14:17:12

标签: java linux tesseract

我在eclipse中使用tess4J ocr库并且在我的窗口中正常工作。但是当我想在linux中运行那个java程序时,它会给出一个错误“无法加载库'tesseract':libtesseract.so:无法打开共享对象文件:没有这样的文件或目录”。

我没有任何linux安装tesseract或任何其他软件的权限。只是我可以使用jar文件并通过调用shell脚本来运行java程序。请帮我解决这个问题。因为我认为我的问题将通过获取libtesseract.so文件或帮助我如何在Windows中获取libtesseract.so来解决,以便我将在linux中使用它。请提前帮助并表示感谢

6 个答案:

答案 0 :(得分:4)

使用命令安装Tesseract for Linux就足够了:

sudo apt-get install tesseract-ocr

现在您可以使用命令检查tesseract版本:

tesseract -v

请注意,对于Tesseract 3.03,您可以使用Tess4j 2.0版。 由于不兼容,另一个版本可能会给您带来错误。

您可以在更改日志或here中获取有关不同版本兼容性的更多信息。

答案 1 :(得分:2)

在我的情况下(centos)我从文件夹中复制了所有文件(文件名中有lept或teesseract关键字)

  

的/ usr /本地/ lib中

到文件夹

  

的/ usr / lib64下

它解决了我的问题

答案 2 :(得分:1)

在Linux上,Tess4J调用Tesseract本机库libtesseract.so来工作。如果您无法在Linux上构建或安装Tesseract,那么您运气不错。也许你可以使用Cygwin或Mingw在Windows上交叉编译为.so。

答案 3 :(得分:0)

你必须设置-Djava.library.path以便找到文件或调整你的标准库路径,通过扩展系统的LD_LIBRARY_PATH

来包含.bashrc中.so的位置。

答案 4 :(得分:0)

您需要在没有root的情况下安装并指定libtesseract.so的路径

安装在其他地方/没有root

可以将Tesseract配置为在任何地方安装,这使得无需root访问即可安装它。

将其安装在$ HOME / local:

./ autogen.sh

./ configure --prefix = $ HOME / local /

make install

使用也安装在$ HOME / local中的Leptonica库在$ HOME / local中安装它:

./ autogen.sh

LIBLEPT_HEADERSDIR = $ HOME /本地/包括  ./configure \ --prefix = $ HOME / local / --with-extra-libraries = $ HOME / local / lib

make install

答案 5 :(得分:0)

我也有同样的问题。 Tesseract库也位于/ usr / local / lib目录下。仍然出现此错误。实际上这是链接问题。因此,您必须在 /etc/ld.so.conf.d/libc.conf 文件中提供 / usr / local / lib 路径到解析程序路径。在此文件中输入路径,也可以在同一目录中创建任何新的conf文件。