Tesseract是一个非常著名的OCR开源项目,现在由google在维护,支持上百种语言,现在还在不断的更新中,版本已经到了4.1及以上,这个版本使用的神经网络模型训练的,使用的LSTM网络结构,但是在教程上官方只介绍Ubuntu的使用安装方法,然而在我的CentOS 8 / RHEL 8安装上出现了很多问题,最后我安装成功,现在总结一下安装的全过程,分享给大家,希望大家在评论区给出意见。
1、安装依赖环境
安装相关的依赖环境的库
yum install gcc-c++
yum install zlib-devel
yum install pkg-config
yum install libtool automake autoconf
yum install libjpeg-devel
yum install libpng-devel
yum install libtiff-devel
如果你计划安装训练工具,你需要安装下面的库
这两个库可以用yum工具直接安装
yum install pango pango-devel
yum install cairo cairo-devel
对于libicu-devel这个库,如果直接用yum工具安装,会导致版本过低,最低要求是52.1,我们可以安装52.2的版本,在前面的博客我已经写好了教程,安装52.2版本博客博客链接:Centos源码安装ICU 52.2的libicu-devel 库
安装Leptonica库,这个库我的博客也已经写好了,可以查看我的博客链接:Centos7源码安装Leptonica-17.8库,注意源码安装,Centos7和8是一样的
2、安装Tesseract-OCR 4.1
官方源码下载链接:https://github.com/tesseract-ocr/tesseract/releases/tag/4.1.1
# 官方下载 wget
wget -c -t 20 https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz
因为githup是国外的,如果觉得下载有点慢,我已经提前下载好,下载地址:4.1.1.tar.gz
# 本地下载 wget
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1559/4.1.1.tar.gz
编译与安装
# 解压
tar -zxvf 4.1.1.tar.gz
cd tesseract-4.1.1/
# 编译与安装
./autogen.sh
./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/include
make
make install
查看一下安装结果:
# 查看版本信息
tesseract -v
3、下载并配置训练的语言包,这里以中文为例
官方下载地址(下载tessdata-best):https://tesseract-ocr.github.io/tessdoc/Data-Files.html
官网githup是国外网站,如果下载有点慢的话,本人已经提前下载好,下载地址:chi_sim.traineddata
# 本地wget下载
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1559/chi_sim.traineddata
配置traineddata路径的环境变量,并且导出
# 先新建一个目录保存traineddata数据,这个目录自己随意定义
mkdir -p /opt/Tesseract/tessdata
# 编辑profile文件
vi /etc/profile
加入下面的环境变量配置
# 注意这个路径是你自己随意定义的,但是要和上面的新建目录一样
export TESSDATA_PREFIX=/opt/Tesseract/tessdata
保存之后,更新环境变量
source /etc/profile
把我们刚刚下载的语言包移到该目录下
mv chi_sim.traineddata $TESSDATA_PREFIX
4、测试
准备一张中文文字的图片,如下:
上传到服务器,识别命令如下:
# test.jpg是照片的文件名 --oem 1 使能LSTM -l chi_sim 中文简体
tesseract test.jpg output --oem 1 -l chi_sim
识别结果在output.txt文件中,如下: