一、关于tesseract-ocr

tesseract-ocr是一个开源的图片识别引擎,可以用它来处理识别验证码图片等,并且支持多种语言,特别棒的是还提供了训练功能,通过训练生成的训练样本,能大大提高识别率。更多的资料可以参考官网:https://code.google.com/p/tesseract-ocr/

二、安装环境

在windows平台下,官网直接有安装包下载,所以这里主要了介绍如何在Linux平台下编译安装。笔者使用Centos操作系统来实验,其它系统应该类似。

三、安装过程

因为需要编译源码,所以首先安装编译环境: > 编译环境: gcc gcc-c++ make

yum install gcc gcc-c++ make

接下来还需要autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel这些库:

yum install autoconf automake libtool
yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel

(如果是ubuntu系统执行下面:

sudo apt-get install libpng12-dev  
sudo apt-get install libjpeg62-dev  
sudo apt-get install libtiff4-dev  

)

另外tesseract-ocr还依赖leptonica,它同样需要通过源码编译,首先下载它:http://www.leptonica.org/source/leptonica-1.68.tar.gz 接着执行以下命令:

tar -xvf leptonica-1.68.tar.gz
cd leptonica-1.68
./configure
make
make install

更多资料参考: http://www.leptonica.org/source/README.html

最后轮到主角登场,首先下载最新版本:https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz

执行以下命令:

tar -xvf tesseract-ocr-3.02.02.tar.gz
cd tesseract-ocr
./autogen.sh
./configure
make
make install
ldconfig

如果一切顺利,tesseract-ocr就已经安装成功了。执行

tesseract -v

可以看到版本信息,不过至此你还需要安装英文语言包等你需要的语言包。这里以英语为例,首先下载https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.eng.tar.gz 然后解压文件,将tesseract-ocr/tessdata 下的所有文件全部拷贝到 /usr/local/share/tessdata 下。至此已经完成英语语言包的安装,最后测试下:

进入下载的tesseract-ocr的源文件目录,这个目录下有一个自带的 phototest.tif ,可以用它来测试。执行以下命令:

tesseract phototest.tif phototest -l eng

结果终端会输出一些信息,并且在目录下同时会生成一个phototest.txt 文本文件,对比图片phototest.tif 你应该可以看到他们是一样的。最后,如果你需要自己训练语言样本,需要把最终生成的样本文件拷贝到/usr/local/share/tessdata 下,这样才能使用自定义样本来进行识别。

总结

简单介绍了如何在Linux下安装tesseract-ocr

##文档信息