Linux下安装tesseract教程
一、依赖安装:
1、查看centos版本
#cat /etc/redhat-release
CentOS release 6.5 (Final)
2、检查yum的repo库
#yum repolist all
检查是否有如下的repo库:
centos-sclo-rh,centos-sclo-sclo
如果没有则安装:
#yum -y install centos-release-scl-rh centos-release-scl
3、检查gcc和g++版本
#gcc --version
#g++ --version
gcc的当前版本编译tesseract4.1会出错,需要gcc更高的版本,通过yum安装的6.3.1版本,通过yum安装gcc有如下好处:
1) 安装方便,特别是很多依赖的软件包自动安装;
2) gcc的版本可以灵活切换,老的版本得以保留。
4、安装gcc 6.3.1
#yum -y install devtoolset-6-gcc devtoolset-6-gcc-c++
执行如下命令使gcc6立即生效
#source /opt/rh/devtoolset-6/enable
再次查看gcc和g++版本
#gcc --version
#g++ --version
如需永久生效则需要把命令添加到/etc/profile文件
vim /etc/profile
在最后添加如下内容:
source /opt/rh/devtoolset-6/enable
执行如下命令使之立即生效
#source /etc/profile
5、安装依赖库(可以下面再装)
#yum install autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel
6、安装autoconf
查看本地的autoconf版本,如果过低则移除
#rpm -qa | grep autoconf
#rpm -e --nodeps autoconf-2.63
获得2.69版本autoconf
#wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
#tar xzvf autoconf-2.69.tar.gz
#cd autoconf-2.69
编译并安装
#./configure
#make
#make install
检查一下autoconf是否是2.69版本
#autoconf --version
7、安装autoconf-archive
现在安装的是2018.03.13版本,当然要选择高一些的版本啦
#wget http://mirrors.nju.edu.cn/gnu/autoconf-archive/autoconf-archive-2018.03.13.tar.xz
#xz -d autoconf-archive-2018.03.13.tar.xz
#tar xvf autoconf-archive-2018.03.13.tar
#cd autoconf-archive-2018.03.13
编译并安装
#./configure
#make
#make install
最后一步很关键,必须把m4目录下的文件复制到/usr/share/aclocal/目录下,这些命令后面编译tesseract用得到,否则后面编译tesseract的时候会报command not found错误
#cp ./m4/* /usr/share/aclocal/
也可以去下面的网址下载其他版本,至少应下载2016版本以上吧
http://mirrors.nju.edu.cn/gnu/autoconf-archive/
二、上面依赖安装完后可进行以下操作:
1.下载
wget https://github.com/tesseract-ocr/tesseract/archive/4.1.0.tar.gz
wget http://www.leptonica.org/source/leptonica-1.74.4.tar.gz
2.安装依赖
安装依赖:yum install autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel
3.安装leptonica
tar -xzvf leptonica-1.74.4.tar.gz
cd leptonica-1.74.4.tar.gz
./configure --prefix=/usr/local/leptonica
make
sudo make install 或make install
4.配置leptonica环境变量
vim /etc/profile
添加以下字段:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/leptonica/lib/pkgconfig
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/leptonica/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/leptonica/lib
export LIBRARY_PATH
LIBLEPT_HEADERSDIR=/usr/local/leptonica/include/leptonica
export LIBLEPT_HEADERSDIR
刷新配置:
source /etc/profile
5.安装tesseract
tar -xzvf 4.1.0.tar.gz
cd tesseract-4.1.0
./autogen.sh
./configure --prefix=/usr/local/tesseract
make
sudo make install 或make install
6.配置 tesseract 环境变量
vim /etc/profile
添加以下字段:
PATH=$PATH:/usr/local/tesseract/bin
export PATH
刷新配置
source /etc/profile
7.安装完毕查看tesseract版本
tesseract --version
可执行文件路径:
#which tesseract
/usr/local/bin/tesseract
语言包的路径(目前空空如也):
/usr/local/share/tessdata
10、下载tesseract语言包(已下载)
去下面网址下载一些训练好的语言包吧
https://github.com/tesseract-ocr/tessdata_best
我们体验的时候只要下载英文和简体中文语言包即可:eng.traineddata、chi_sim.traineddata、chi_sim_vert.traineddata,
看名称就很容易理解,前者为英文,后两个为简体中文,把这些语言包放到/usr/local/share/tessdata目录下
11、初体验tesseract识别
先体验英文识别,eng_test.jpg是我们准备的英文文字图片,eng_result.txt为输出结果:
#tesseract eng_test.jpg eng_result --psm 7
#vim eng_result.txt
英文的识别结果:18AX,不是很理想吧,但是要知道这个图片是个验证码,是不是可以破解一般的验证码了!
再体验一下中文识别,chi_sim_test.jpg是我们准备中文文字图片,chi_sim_result.txt为输出结果:
#tesseract chi_sim_test.jpg chi_sim_result -l chi_sim --psm 7
#vim chi_sim_result.txt
查看中文识别结果:益码通付平台,各位朋友也可以识别自己准备的中文图片,不理想的话也没关系,因为后续我们自己可以训练自己的语言包了。
下面简单介绍一下常用的参数
-l参数表示要用的语言包,chi_sim表示简体中文语言包,默认为英文;
--psm参数可以简单理解成图片中的文字的布局方式,默认为:3
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR.
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
测试图片:
三、注意事项:
1.如果图片分辨率和gpi不符合要求会返回警告:
Tesseract Open Source OCR Engine v4.1.0 with Leptonica
Warning: Invalid resolution 0 dpi. Using 70 instead.
解决办法:修改图片gpi和分辨率,参照测试图片test_picture3.jpg
四、相关资源文件下载地址
https://download.csdn.net/download/Tomcat_wr8/13979558
五、参考资料
https://www.cnblogs.com/snakeskin/p/11296631.html