linux下离线安装tesseract-ocr

tesseract-ocr时一个识别图片中文字字母的引擎,具体介绍可以百度。

由于linux位于公司内网无法联网下载安装,所以需要离线安装。由于需要编译源码,所以首先需要安装gcc编译工具,gcc的安装方法请自行百度。tesseract-ocr首先需要下载下面的源码包(按照索引的顺序安装,如果编译时报出缺少某组建,下载安装即可):

1.autoconf-2.69.tar.gz

2.automake-1.15.tar.gz

3.libtool-2.4.2.tar.gz

4.leptonica-1.73.tar.gz

5.libpng-1.5.8.tar.gz

6.tesseract-ocr3.02.02.tar.gz

7.eng.traineddata.gz

以上包的版本可以自行选择,但注意tesseract-ocr3.02.02需要1.69版本以上的leptonica。其他包之间的版本关系没有试过。

一次将上面列出的包解压:tar zxvf xxxx.tar.gz

然后进入解压后的目录执行:./configure && make && make install来配置编译安装。对于eng.traineddata.gz语言包,解压后需要将tesseract-ocr/tessdata下的文件拷贝到/usr/local/share/tessdata中(此步骤未验证是否必须)。

因为这里只安装了libpng的依赖包,所以只可以解析png的图片,其他格式的文件需要另外下载安装包,入libjp等等。

如果一切顺利,成功安装好了esseract-ocr,可以自己生成一张带有字母的png图片放入服务器中,切入esseract-ocr目录后执行

tesseract test.png test -l eng

如果成功会生成一个test.txt文件,文件内容即为识别出的文字字母内容。

如果报出以下错误:

Tesseract Open Source OCR Engine v3.02.02 with Leptonica
Error in findTiffCompression: function not present
Error in pixReadStreamTiff: function not present
Error in pixReadStream: tiff: no pix returned
Error in pixRead: pix not read
Unsupported image type.
先检查leptonica版本是否支持tesseract-ocr的版本,再先检查libpng-1.5.8.tar.gz包(即支持图片依赖包)是否正确安装,如果正确安装后依然报同样的错误,将leptonica卸载后重装一遍(作者就是这么解决的)。




你可能感兴趣的:(linux)