Linux环境下Python使用tesseract-ocr4.0

1 安装centos7系统依赖

命令如下:
yum install -y libpng-devel libjpeg-devel libtiff-devel
yum install -y libpng-devel libjpeg-devel libtiff-devel

2 安装leptonica

下载leptonica-1.78,下载地址:
http://www.leptonica.org/source/leptonica-1.78.0.tar.gz
解压,使用命令:tar -xzvf leptonica-1.78.0.tar.gz
进入解压后的目录,使用命令:cd leptonica-1.78.0
在这里插入图片描述
配置编译,采用默认配置,使用命令:./configure
编译,使用命令:make
安装,使用命令:make install

3 安装tesseract-ocr

下载tesseract-ocr4.0,下载地址:
https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/4.0.0
解压,使用命令:tar -xzvf tesseract-4.0.0.tar.gz
进入解压后的目录,使用命令:cd tesseract-4.0.0
在这里插入图片描述
从上面图片中,我们注意到解压文件里只有一个可执行文件autogen.sh
因此我们执行这个shell脚本文件,使用命令:./autogen.sh
执行完后,在当前目录就生成了其它一些可执行文件,如下所示:
在这里插入图片描述
使用配置,命令:./configure
发现如下错误
Linux环境下Python使用tesseract-ocr4.0_第1张图片
提示这个错误是因为在上面的步骤中虽然我们安装了leptonica-1.78,但是却没有将leptonica设置为环境变量。
由于上面我们都是采用默认的配置,因此第三方库是安装在/usr/local这个目录下
在这里插入图片描述
进入lib目录可以看到新安装的liblept
在这里插入图片描述
在这个目录输入命令:pkg-config --version查看pkg-config是否安装
如果没有安装,就先安装,使用命令:yum install pkgconfig

3.1 将leptonica-1.78添加到环境变量里

使用命令:vim /etc/profile
在打开的文件结尾添加:
export LD_LIBRARY_PATH=/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

有的时候新建环境变量也这样写:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/usr/local/lib

Linux环境下Python使用tesseract-ocr4.0_第2张图片

保存退出
使环境变量生效,命令:source /etc/profile

然后我们在重新配置tesseract,使用命令: ./configure
这次配置就没有错误了。
编译,使用命令:make
安装,使用命令:make install
动态链接,使用命令:ldconfig

最后安装完成,使用命令:tesseract --version
显示如下:
tesseract 4.0.0
leptonica-1.78.0
libjpeg 6b (libjpeg-turbo 1.2.90) : libpng 1.5.13 : libtiff 4.0.3 : zlib 1.2.7

4 安装Python3第三方模块pytesseract

使用命令:pip3 install pytesseract
安装完后,我们可以直接输入命令:tesseract
显示如下:
Linux环境下Python使用tesseract-ocr4.0_第3张图片
但当我们查看已经安装的语言库时,就出现错误,因为没有配置语言库的环境变量。
命令:tesseract --list-langs
提示错误:
在这里插入图片描述
添加tessdata的环境变量,使用命令:vim /etc/profile
在结尾增加:
export TESSDATA_PREFIX=/root/tessdata
Linux环境下Python使用tesseract-ocr4.0_第4张图片
保存退出,使环境变量生效
使用命令:source /etc/profile
现在可以正常使用语言库了
Linux环境下Python使用tesseract-ocr4.0_第5张图片

5 调用pytesseract进行识别图片

新建Python文件lx_ocr.py ,输入如下代码:

import pytesseract
from PIL import Image
img=Image.open('test.png')
code=pytesseract.image_to_string(img,lang='chi_sim+eng')
print(code)

Linux环境下Python使用tesseract-ocr4.0_第6张图片
保存退出,运行文件,使用命令:python3 lx_ocr.py
结果如下:
Linux环境下Python使用tesseract-ocr4.0_第7张图片
由上图所知,中英文已经正确识别出来。

你可能感兴趣的:(tesseractOCR)