ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)

ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)

鉴于tesseract-ocr开源较早,然后安装,使用的教程都比较老了,有一些文章里面还有坑,博主也是经过不少文章的坑了。

所以!
本文介绍在linux系统下,使用 python3调用谷歌tesseract-ocr4.0来实现图像/文字识别的过程。
包括安装tesseract-ocr4.0,安装中文字体包,安装leptonica等过程。

环境:

ubuntu 16.04 x64
python 3.5
Leptonica 1.78
tesseract 4.0
(建议不要使用3.05以下版本,很多教程不适用了)

一、apt-get安装方式

如果你使用的是Ubuntu系统:可以自动安装,一键完成(但是版本就不一定是最新的,你可以在后面指定版本==4.0试试。)

sudo apt-get install tesseract-ocr

注意安装产生的文件夹:要可能是tesseract-ocr,也可能是tesseract。
默认都是安装在了/usr/share文件夹下。
自己需要先去确定!!!(我建议源码安装)

二、源码编译安装方式

根据官网所说的,最新的tesseract 4.0 及3.05,需要从Leptonica 源代码编译,而且有版本要求。

版本文档:https://github.com/tesseract-ocr/tesseract/wiki/Compiling#linux
面是3.04.10版本的安装操作方式ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第1张图片

1.安装leptonica库

tesseract依赖leptonica库,否则在configure的时候会提示。

源码地址:https://github.com/DanBloomberg/leptonica

请使用Git下载下来,(这都不会还玩啥linux)。然后解压文件夹。(太基础的命令就不写了)
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第2张图片

然后进去文件夹,

注意了,这里跟很多老文章不一样了,

如果你发现解压的包下没有 configure 文件,只有 configure.ac文件?

打开终端,ctrl+alt+t,

找到autogen.sh或者是autoconfig.sh,执行它就会产生配置文件。
在这里插入图片描述

当然!
这之前,先看看你的系统里面有没有安装automake? 先运行automake看看?
如果提示找不到,那么请先安装。

安装:sudo apt insatll aleptonicautomake
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第3张图片
安装成功automake以后,

在执行:./autoconf.sh
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第4张图片
这样过就会生成很多文章上面写的configure文件了!
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第5张图片

然后运行:./configure
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第6张图片
开始编译:
编译:make -j8 && make install
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第7张图片
如果你用的make && make install,报错:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第8张图片
就拆分命令,
先 sudo make
再 sudo make install
即可。

这样就安装好了leptonica库。

2.安装tesseract-ocr4.0

tesseract-ocr4.0下载:
https://github.com/tesseract-ocr/tesseract/releases

选择tar.gz的:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第9张图片

也可以使用git下载:

clone源代码 :

git clone https://github.com/tesseract-ocr/tesseract.git  tesseract-ocr

解压:ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第10张图片

反正最后得到这么一个文件夹。

再次打开终端,进入目录,依次安装依赖。

cd tesseract-ocr

安装依赖:

sudo apt-get install g++ autoconf automake libtool autoconf-archive pkg-config libpng12-dev libjpeg8-dev libtiff5-dev zlib1g-dev  libleptonica-dev -y

整条复制去执行也可以自己独立一条一条执行安装,
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第11张图片

在安装训练所需要的库:

sudo apt-get install libicu-dev libpango1.0-dev  libcairo2-dev

ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第12张图片

然后执行:

   ./autogen.sh

ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第13张图片

 autoreconf -i

在这里插入图片描述

./configure

ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第14张图片

如果报错:
configure: error: Leptonica 1.74 or higher is required. Try to install libleptonica-dev package.3
在这里插入图片描述
解决:需要Leptonica 1.74或更高版本。回到第一步去确定你安装的版本。

最终配置完成如图:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第15张图片

然后再执行,继续编译,先编译tesseract,在编译安装 training :依次执行哟

make  
sudo make install
make training
sudo make training-install
sudo ldconfig

整个编译过程完成,这个时候 在命令行中 输入tesseract 就会提示怎么用。
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第16张图片

3.安装对应的字体库:

先查看自带的字体库
运行:tesseract --list-langs

如果报错:

Error opening data file /usr/local/share/tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
List of available languages (0):

图示:
在这里插入图片描述

解决:安装对应的字体库。

默认字体库存放地址:/usr/local/share/tessdata,如果你改了位置那么就在你自己的安装路径下。

tesseract/tessdata是一个配置目录可以以此为基础把所有用的语言包放在这里面
首先打开:ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第17张图片
看有没有.traineddata后缀的,有就复制到我们的安装路径下去。

如果没有,我们可以下载需要的语言包 https://github.com/tesseract-ocr/tessdata_best ,里面有各种语言包,都是训练好的语言包。

简体中文下载:chi_sim.traineddata , chi_sim_vert.traineddata

英文包:eng.traineddata。

图示:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第18张图片
下载好的语言包 放在tessdata目录里面。

设置环境变量为: tessdata的目录。
如:
请确保将tessdata_prefix环境变量设置为“tessdata”目录。

终端里面执行

export TESSDATA_PREFIX=/usr/local/share/tessdata

图示:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第19张图片

注意!!!

根据:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第20张图片
指出:
您还可以使用:
导出tessdata_prefix=/some/path/to/tessdata

指向您的tessdata目录:
(例如:如果您的tessdata路径是“/usr/local/share/tessdata”,则必须使用“export TESSDATA_PREFIX=’/usr/local/share/”)

所以:
在这里插入图片描述

也可以sudo gedit ~/.bashrc 打开配置文件来手动添加。

使用命令:source ~/.bashrc,让配置的环境马上生效。

4.查看一下字体库:tesseract --list-langs

在这里插入图片描述
相关命令:
查看已安装字库,

tesseract --list-langs

字库是所有带有traineddata的文件。

   --psm 

psm命令指明文本的模式,默认为3。
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第21张图片

--oem

定义OCR引擎的模式:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第22张图片

5.使用tesseract-ocr测试:.

输入命令:tesseract /home/app/1.png output -l chi_sim

解释:
识别/home/app/1.png这张图片,内容输出到output.txt 里面,用chi_sim 中文来识别(不用加.traineddata,会默认加)
cat output.txt 可以查看刚才的内容。

ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第23张图片

自我感觉识别率不是很准。

6.pycharm配置tesseract-ocr:

要在代码写在pycharm里面,然后在里面直接调用来看。

import pytesseract

随便运行,如果在pycharm里面,报错说:找不到字体包!
/usr/local/share/tessdata

这个地方:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第24张图片
修改为改正后的:
ubuntu16.04安装编译谷歌tesseract-ocr4.0(最新详细)_第25张图片
错误解决。


下一篇,pycharm里面使用tesseract-ocr4.0实现图像/文字识别。

你可能感兴趣的:(Ubuntu系统)