Ubuntu下安装编译tesseract-ocr并测试pytesseract

前言      

        因为这是笔者在踩了很多坑才在公司服务器上部署好的,所以想写这个文章让大家避坑,而且这是后面写的有些坑可能忘记了,希望不足的大家理解。

1、linux安装环境

        作者本人使用的环境为docker镜像pull的Ubuntu18.04并安装了python3.7作为python的操作环境。

        在此友情提示:如果你想在docker的linux(无论是centos或Ubuntu)创建python的虚拟环境的请谨慎,因为你可能在装完tesseract后再去启动python虚拟环境可能会提示权限问题。如下图作者踩的坑(venv为python虚拟环境)由于能力有限(找了一天不知道怎么弄。。。。)就没用虚拟环境

5f22a8686b9b40e4b5e5aff7c7a8d907.png

 2、直接开搞

        2.1、下载安装包

                在安装tesseract时,需下载文件

                地址如下-版本自选:本文用的是leptonica-1.78.0 tesseract-4.1.0(leptonica版本可以随着 tesseract版本稍微提高一下)

                Tesseract下载地址: https://github.com/tesseract-ocr/tesseract/releasesReleases · tesseract-ocr/tesseract · GitHubhttps://github.com/tesseract-ocr/tesseract/releases

                leptonica下载地址: http://www.leptonica.org/download.html

                lang包下载地址: mirrors / tesseract-ocr / tessdata · GitCodemirrors / tesseract-ocr / tessdata · GitCodeTrained models with support for legacy and LSTM OCR engine 🚀 Github 镜像仓库 🚀 源项目地址icon-default.png?t=N7T8https://gitcode.net/mirrors/tesseract-ocr/tessdata)下载chi_sim,eng,osd的就差不多了需要的可以多下

                注:可以先把这些文件下载到本地再进行上传到服务器防止下载时网络不行

        2.2、开始安装

                  由于作者是在docker上装的所以需要挂载一下(不用docker的可以跳过)

                        2d2671cbe1bc40d98df8352174ef5a4d.png

                  这样docker的opt目录下就有文件了6a318b3400f1459899e34456e1238bee.png

       2. 3、安装依赖包 

                 可以先运行下面代码如果报错gcc-c+就走下面的build

apt-get install autoconf automake openjpeg2-devel libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel gcc gcc-c++

               由于我在Ubuntu安装下出现了apt-get -y install gcc-c++安装报错“E: Couldn't find any package by regex 'gcc-c+'”,就在网上找了一个新的安装:

apt-get -y install build-essential
#有些包build也不全,下面tiff是作者踩得坑各位可以提前安装
apt-get install -y libtiff5-devel

              如果安装没有找到 build-essential可能是apt-get需要更新 apt-get update 后在执行就OK了

        2.4、安装leptonica

mkdir  /usr/local/leptonica

tar -xzvf leptonica-1.78.0.tar.gz

cd leptonica-1.78.0

./configure --prefix=/usr/local/leptonica  && make  && make install

# 注意,编译如果报错,请检查依赖安装

                先创建文件夹,再将压缩包解压到文件夹下(不要解压错位置,别忘了改版本号如果和我的不同) 进入解压文件下执行./configure --prefix=/usr/local/leptonica  && make  && make install,一步步来进行make过程可能有点慢

        配置一下环境

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应用配置

        2.5、安装tesseract      

mkdir /usr/local/tesseract

tar -xzvf 4.1.0.tar.gz
cd tesseract-4.1.0
# 必须先运行autogen.sh文件才会有configuer文件
./autogen.sh
# 编译安装到指定文件夹
./configure --prefix=/usr/local/tesseract  && make && make install

               同样和上面一样一步步来

            如果执行./autogen.sh出现下面错误及执行apt-get install automake -y 和apt-get install libtool -y 装一下包在执行./autogen.sh就ok了 (缺少什么装什么我在测试写文章时发现pkg-config也没有又装了下包)

f87fe0c20e0d4fd593ec0523cf3ee152.png

                下面有这个configure时就算是真正的OK了运行./configure --prefix=/usr/local/tesseract  && make && make install 就快完成了(不过还是有可能因为一些依赖包没有make失败不要慌 apt-get install -y 包名 接着make 过程很慢  )

cecb30728ce84f309cea33f15ee68ba2.png

            回退到/usr/local/tesseract目录下查看如果出现下面的就算成功了

c046ea1fe521424da519dc547e2508b3.png

                这里share/tessdata目录下要把开始下载的语言包放里面哈,要不然少东西下面是我的语言包        

                 配置环境vim /etc/profile

                添加下面内容           

PATH=$PATH:/usr/local/tesseract/bin/
export PATH
export TESSDATA_PREFIX=/usr/local/tesseract/share/tessdata/
export PATH=$PATH:$TESSDATA_PREFIX

                应用环境 source  /etc/profile (在这里如果有朋友用docker装的每次启动docker都要source 。。。。)

                 测试安装是否可用,分别输入tesseract --versiontesseracttesseract --list-langs如下就算OK了      

[root@devhost]# tesseract --version
tesseract 4.1.0
 leptonica-1.78.0
  libjpeg 6b (libjpeg-turbo 1.2.90) : libpng 1.5.13 : libtiff 4.0.3 : zlib 1.2.7
 Found AVX512BW
 Found AVX512F
 Found AVX2
 Found AVX
 Found FMA
 Found SSE

[root@devhost]# tesseract
Usage:
  tesseract --help | --help-extra | --version
  tesseract --list-langs
  tesseract imagename outputbase [options...] [configfile...]

OCR options:
  -l LANG[+LANG]        Specify language(s) used for OCR.
NOTE: These options must occur before any configfile.

Single options:
  --help                Show this help message.
  --help-extra          Show extra help for advanced users.
  --version             Show version information.
  --list-langs          List available languages for tesseract engine.

[root@devhost]# tesseract --list-langs
List of available languages (3):
chi_sim_vert
chi_sim
eng

 3、安装pytesseract

pip install pytesseract

安装完成后,我们就可以利用python调用tesseract-ocr接口来识别图片了

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

 参考文章:linux下安装编译tesseract-ocr提取图片文字 - 知乎

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值