Tesseract如何配置

时间:2020-11-10 14:47:34

简介

Tesseract是一个光学字符识别引擎,支持多种操作系统。Tesseract是基于Apache许可证的自由软件,自2006年起由Google赞助开发。2006年,Tesseract被认为是最精准的开源光学字符识别引擎之一。

配置流程

1.编译工具配置

执行如下命令,安装Tesseract所使用的依赖软件包。

yum install automake libtool gcc-c++libjpeg-devel libpng-devel libtiff-devel-y

2.获取源代码

1)执行如下命令,获取Tesseract原代码。

wget https://github.com/tesseract-ocr/tesseract/archive/4.0.0.tar.gz

2)通过华为云发放的弹性云服务器默认已安装GCC安装,无需单独安装配置。

3)下载tesseract依赖的图像处理库leptonica源码包。

wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz

4)解压leptonica。

tar-xvf leptonica-1.78.0.tar.gz

5)编译和安装leptonica。

cd leptonica-1.78.0

./configure--prefix=/usr/&&make-j4&&make install

6)配置leptonica涉及的环境变量。

vi/etc/profile

在后面插入如下内容:

export PKG_CONFIG_PATH=/usr/lib/pkgconfig

输入“:wq”保存。

执行如下命令使环境变量有效:

source/etc/profile

ldconfig

3.编译源代码

1)执行下面命令,解压软件包。

cd/root

tar-xvf tesseract-4.0.0.tar.gz

2)执行如下命令,进入Tesseract的安装目录。

cd tesseract-4.0.0

3)执行以下命令,编译安装tesseract。

./autogen.sh&&./configure&&make-j4&&make install

4.测试已完成编译的软件

1)执行如下命令,创建目录。

cd/root

mkdir lang

cd lang

2)执行如下命令,获取Tesseract语言包。

wget https://github.com/tesseract-ocr/tessdata/archive/4.0.0.tar.gz

3)执行如下命令,解压语言包。

tar-zxvf tessdata-4.0.0.tar.gz

4)进入Tessdata目录。

cd tessdata-4.0.0

5)执行以下命令,将Tesseract安装目录放入复制到/usr/local/share/tessdata目录。

cp*/usr/local/share/tessdata-r

6)执行以下命令,将缓存数据刷新到硬盘。

sync

7)执行如下命令,获取kunpeng.png图片(本文以获取保存在华为云OBS桶上的kunpeng.bmp图片为例)。

wget https://portal-www-software.obs.cn-north-1.myhuaweicloud.com:443/kunpeng.bmp

8)执行如下命令,运行Tesseract识别图片文字。

tesseract kunpeng.bmp result

9)执行如下命令,查看文字识别结果。

cat result.txt

当系统回显显示如下图片文字时,表示使用Tesseract识别文字成功。

Hello Kunpeng

问题处理

1)问题现象:

如在编译leptonica时未安装基础包,则在测试会出现“Error in pixReadMemTiff:function not pres”等如下错误:

解决方法:

执行如下命令,安装各种基础包,重新编译leptonica。

yum install libtiff-y

yum install libtiff-devel-y

yum install libpng libpng-devel-y

yum install libjpeg-turbo libjpeg-turbo-devel-y

./configure--prefix=/usr/

make;make install

其他使用技巧

1)编译过程中出现“/autogen.sh:line 59:bail_out:command not found”问题处理。

问题现象:

如下图所示编译过程出现"/autogen.sh:line 59:bail_out:command not found":

解决方法:

yum install libtool-y

./autogen.sh

2)依赖包leptonica系统未安装问题处理。

问题现象:

如下图所示编译过程出现"configure:error:Leptonica 1.74 or higher is required":

问题解决(当操作系统是Euler时):

由于当前Euler的源中无leptonica,需要下载leptonica软件包,手动编译。具体方法如下:

wget https://github.com/DanBloomberg/leptonica/releases/download/1.78.0/leptonica-1.78.0.tar.gz

tar-zxvf leptonica-1.78.0.tar.gz

cd leptonica-1.78.0/

./configure--prefix=/usr/

说明:configure时把--prefix=/usr/带上,系统默认路径为/usr/local;如果采用默认路径在编译tesseract时,需要手动声明环境明量。CentOS安装完成后请手动执行“export PKG_CONFIG_PATH=/usr/lib/pkgconfig”。

此时,如果出现运行./configure时,提示如下,表示无基础包:

请安装依赖包并重新编译leptonica后再试:

yum install libtiff-y

yum install libtiff-devel-y

yum install libpng libpng-devel-y

yum install libjpeg-turbo libjpeg-turbo-devel-y

./configure--prefix=/usr/

make;make install

问题解决(当操作系统是CentOS时):

1)执行如下命令,通过CentOS源安装leptonica。

yum install leptonica-y

yum install leptonica-devel-y

2)重新编译Tesseract并执行./configure。

在执行./configure如出现“Leptonica 1.74 or higher is required”,即报错信息如下:

请通过以下方式解决:

执行如下命令,查看leptonica版本信息。

rpm-qa|grep leptonica

系统回显类似如下信息:

说明:该文档采用的tesseract版本为4.0.0版本需要leptonica 1.74及以上版本,当前测试鲲鹏云服务器的Centos 7.5所自带的leptonic为1.72版本,需源码安装leptonica高版本。

3)动态链接库问题。

问题现象

执行如下命令tesseract kunpeng.bmp result测试tesseract

需要执行ldconfig,ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。

ldconfig

执行完成后,请再次测试。

上一篇: FreeType2是什么

下一篇: GDAL是什么

猜你喜欢