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
2、安裝leptonica
不同的Tesseract版本對應不同的Leptonica依賴包,注意版本。leptonica官網
解壓: 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。
識別結果和語言包有關,針對特定場景,比如身份證識別、門牌識別可以自己訓練語言包。