CentOS8.5 编译安装 Tesseract5.5.1
Tesseract OCR是一款由Google维护的开源光学字符识别(OCR)引擎,支持多种语言和复杂场景的文字识别,适用于印刷体和手写体文本的转换,并且可以在 Java 中通过 Tesseract API 进行集成。
项目GitHub地址:https://github.com/tesseract-ocr/tesseract
一、编译环境
系统:CentOS8.5.2111 (带GUI桌面)
Tesseract版本:5.5.1
Leptonica版本:1.86.0
二、安装过程
2.1、配置yum源
#备份
cd /etc/cd /etc/yum.repos.d/
mkdir bak && mv *.repo bak/
#使用阿里云提供的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
#epel源
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
2.2、安装依赖包
yum install -y gcc gcc-c++ make autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel icu pango-devel cairo-devel
2.3、安装gcc-toolset-11
CentOS8.5.2111 默认的 gcc 版本为 8.5.0,编译过程会报错,所以安装 gcc-toolset-11 工具使用 gcc 11.2.1 版本进行构建。
#安装
yum install -y gcc-toolset-11
#配置gcc11环境
#临时启用(仅当前终端会话有效),这里使用这种方式
scl enable gcc-toolset-11 bash
#永久启用(当前用户)
echo 'source /opt/rh/devtoolset-11/enable' >> ~/.bashrc
source ~/.bashrc
2.4、编译安装Leptonica
Leptonica是一个开源的图像处理和图像分析库,支持多种图像格式(如BMP、PNG、JPEG、GIF、TIFF等),提供位图操作、仿射变换、形态学操作、连通区域填充等功能,Tesseract 编译安装依赖 Leptonica 进行图像处理,所以需要先编译安装Leptonica,然后再编译安装Tesseract。
项目GitHub地址:https://github.com/DanBloomberg/leptonica
(1) 下载源码包并解压
wget https://github.com/DanBloomberg/leptonica/releases/download/1.86.0/leptonica-1.86.0.tar.gz
tar -xf leptonica-1.86.0.tar.gz
(2) 编译安装
cd leptonica-1.86.0/
./autogen.sh
./configure --prefix=/usr/local/leptonica-1.86.0
make
make install
执行 configure 脚本时使用
--prefix指定软件安装路径,方便编译后打包拿到其它机器上运行。
(3) 创建环境变量
vim /etc/profile.d/leptonica.sh
export LD_LIBRARY_PATH=/usr/local/leptonica-1.86.0/lib:$LD_LIBRARY_PATH
export LIBLEPT_HEADERSDIR=/usr/local/leptonica-1.86.0/include
export PKG_CONFIG_PATH=/usr/local/leptonica-1.86.0/lib/pkgconfig
#使用环境变量生效
source /etc/profile.d/leptonica.sh
2.5、编译安装Tesseract
(1) 下载源码包解压
wget https://github.com/tesseract-ocr/tesseract/archive/refs/tags/5.5.1.tar.gz
tar -xf tesseract-5.5.1.tar.gz
(2) 编译安装
cd tesseract-5.5.1/
./autogen.sh
./configure --prefix=/usr/local/tesseract-5.5.1 -with-extra-libraries=/usr/local/leptonica-1.86.0/lib
make
make install
(3) 创建环境变量
vim /etc/profile.d/tesseract.sh
export TESSDATA_PREFIX=/usr/local/tesseract-5.5.1/share/tessdata
export PATH=$PATH:/usr/local/tesseract-5.5.1/bin:$TESSDATA_PREFIX
export LD_LIBRARY_PATH=/usr/local/tesseract-5.5.1/lib:$LD_LIBRARY_PATH
#使用环境变量生效
source /etc/profile.d/tesseract.sh
(4) 查看安装情况
#查看版本
[root@localhost ~]# tesseract --version
tesseract 5.5.1
leptonica-1.86.0
libjpeg 6b (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11
Found AVX512BW
Found AVX512F
Found AVX512VNNI
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Found OpenMP 201511
#查看支持的语言
[root@localhost ~]# tesseract --list-langs
List of available languages in "/usr/local/tesseract-5.5.1/share/tessdata/" (0):
2.6、添加语言包
语言包下载地址:https://github.com/tesseract-ocr/tessdata
进入语言包上传目录 /usr/local/tesseract-5.5.1/share/tessdata/
cd /usr/local/tesseract-5.5.1/share/tessdata/
这里下载了三个语言包:
#简体中文(横排)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
#简体中文(竖排)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim_vert.traineddata
#英文
wget https://github.com/tesseract-ocr/tessdata/blob/main/eng.traineddata
下载完成后,再查看支持的语言:
[root@localhost ~]# tesseract --list-langs
List of available languages in "/usr/local/tesseract-5.5.1/share/tessdata/" (3):
chi_sim
chi_sim_vert
eng
接着可以上传一张带文字的图片试下转换效果:
#执行命令
tesseract -l chi_sim test.png output
#之后会在当前目录生成一个output.txt文件,可以查看转换的文字
cat output.txt
参考博客:https://blog.csdn.net/u014799292/article/details/145605250
浙公网安备 33010602011771号