我在eclipse中使用tess4J ocr库并且在我的窗口中正常工作。但是当我想在linux中运行那个java程序时,它会给出一个错误“无法加载库'tesseract':libtesseract.so:无法打开共享对象文件:没有这样的文件或目录”。
我没有任何linux安装tesseract或任何其他软件的权限。只是我可以使用jar文件并通过调用shell脚本来运行java程序。请帮我解决这个问题。因为我认为我的问题将通过获取libtesseract.so文件或帮助我如何在Windows中获取libtesseract.so来解决,以便我将在linux中使用它。请提前帮助并表示感谢
答案 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文件。