1. 程式人生 > >linux安裝Tesseract文字提取

linux安裝Tesseract文字提取

系統:CentOS7

1、安裝依賴包

依賴包: autoconf automake libtool libjpeg libpng libtiff zlib libjpeg-devel libpng-devel libtiff-devel zlib-devel

可以使用 rpm -qa |grep autoconf 命令檢查依賴包是否存在,有返回一般就是存在的,無返回不存在,需要手動安裝。

一般前面幾個都有,後面幾個一般不存在,需要手動安裝。安裝之前使用  uname -a 檢查系統平臺:3.10.0-327.el7.x86_64 。安裝的rpm包需符合.el7.x86_64版本。

libjpeg-devel這個幾個包需要和libjpeg版本相同。比如 rpm -qa |grep libpng :libpng-1.5.13-5.el7.x86_64。則libpng-devel也要是libpng-devel-1.5.13-5.el7.x86_64。

幾個rpm連結:

http://www.rpm-find.net/linux/RPM/index.html

https://pkgs.org/download/

http://rpm.pbone.net/

2、安裝leptonica

不同的Tesseract版本對應不同的Leptonica依賴包,注意版本。leptonica官網

介紹了Tesseract版本和leptonica之間的依賴,Tesseract4.0需要不低於leptonica 1.73。這裡在官網下載了最新版1.76.0。

解壓: tar -vzxf leptonica-1.76.0.tar.gz

安裝:

 ./configure

make

make install

ldconfig

3、安裝Tesseract

Tesseract的github主頁找到原始碼包,如果是識別中文的話需要下載4.0.0版本,在主頁releases下面找到4.0.0原始碼包。

解壓:tar -vzxf tesseract-4.0.0-beta.1.tar.gz

安裝:

./autogen.sh

./configure

##如果沒有問題,繼續下面命令,如果報autoconf-archive錯誤,下載安裝autoconf-archive包。再重新執行上面兩條命令。

make

make install

ldconfig

4、文字識別

執行 tesseract --help 檢視使用命令

執行 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!

           檢查tessdata目錄中是否有.trainedata語言包,如果沒有,在這裡下載中英文語言包。放到自己的tessdata目錄中。如果           錯誤資訊的目錄中沒有tessdata目錄,則可以通過 export TESSDATA_PREFIX=自己的tessdata檔案所在目錄(不包含                   tessdata),設定環境變數。

測試 tesseract 001_1.jpg res -l chi_sim --oem 1 --psm 7 會在當前目錄下生成識別結果的res.txt檔案。也可以更改oem和psm引數,具體用法 tesseract --help-extra

識別結果和語言包有關,針對特定場景,比如身份證識別、門牌識別可以自己訓練語言包。