简介
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
执行完成后,请再次测试。