最近公司项目需求,需要了解和学习一下tesseract,故把学习的过程梳理以下,并作以下总结:
本来想安装tesseract的v5.0版本,但是在我编译的时候一直报错,我也不知道是什么原因,故放弃;安装v4.0版本,在官网上查询得知tesseract-4.1.1为最稳定的版本,所以以此版本为例进行总结:
tesseract-4.1.1安装
安装tesseract-4.1.1前需要安装依赖项:
sudo apt-get install autoconf automake libtool autotools-dev libicu-dev
sudo apt-get install libpng12-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libtiff5-dev
sudo apt-get install zlib1g-dev
leptonica-1.78.0 安装:
wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz
tar -zvxf leptonica-1.78.0.tar.gz
cd leptonica-1.78.0/
./autobuild ##有的解压后没有autobuild则忽略此句
./configure
make
sudo make install
tesseract-4.1.1安装:
https://github.com/tesseract-ocr/tesseract/releases/tag/4.1.1
tar -zvxf tesseract-4.1.1.tar.gz
cd tesseract-4.1.1/
./autogen.sh
./configure --enable-debug LDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include"
make
sudo make install
sudo ldconfig
- 安装训练工具:
make training
sudo make training-install
- 版本查询:
tesseract --version
- 结果:
tesseract 4.1.1
leptonica-1.78.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4
Found AVX2
Found AVX
Found FMA
Found SSE
说明tesseract安装成功了。
tesseract-4.1.1语言模型下载:
在文件夹tessdata下存放语言模型(/usr/local/share/tessdata)
- tesseract目录中的tessdata文件夹是tesseract检查在输入文档上执行OCR所需的语言数据的位置。
- 为了使tesseract正常工作,您至少需要一种语言,对于英语,则需要一个名为’eng.traineddata’的数据文件。 另外,您还需要另一个名为’osd.traineddata’文件,该文件用于方向检测,在tessdata文件夹中也是必需的,chi_sim.traineddata是简体中文的数据文件。
git clone https://github.com/tesseract-ocr/tessdata_best
#tessdata_best里面包含很多训练好的文字字模型需要什么模型可以从该文件夹中复制粘贴到/usr/local/share/tessdata
sudo scp eng.traineddata osd.traineddata chi_sim.traineddata /usr/local/share/tessdata
- 罗列语言列表:
#列出tesseract中语言
tesseract --list-langs
正确示例:
以上说明安装成功,接下来就可以应用tesseract进行文字识别啦!
错误情况:
解决方案:
gedit ~/.bashrc
在文件最后一行加上: export TESSDATA_PREFIX=/usr/local/share/tessdata/
保存后退出
source ~/.bashrc