OCR(Optical character recognition) —— 光學文字識別,是圖像處理的一個重要分支,中文的識別具有一定挑戰性,特別是手寫體和草書的識別,是重要和熱門的科學研究方向
截止筆者發文(2019.12.25),tesseract-ocr 最新發布的穩定版本是4.1.0. 而tesseract-ocr依賴於leptonica——最新穩定版本是1.78.0
安裝說明
- Windows(下載下來一路無腦,點下一步就好)
(1)詳情請移步至如下鏈接,下載安裝:
https://github.com/UB-Mannheim/tesseract/wiki
(2)配置環境變量(跟JAVA一樣)及添加TESSDATA_PREFIX請參見:
https://www.cnblogs.com/jianqingwang/p/6978724.html
注意需要下載訓練集—traineddata:
https://github.com/tesseract-ocr/tessdata
中文請選如下4個:
chi_sim.traineddata (簡體— 對於宋體,像素>= 300dpi:識別率高達%100,同時對英文及阿拉伯數字識別率高達百分之90以上)
chi_sim_vert.traineddata (簡體,豎排)
chi_tra.traineddata (繁體)
chi_tra_vert.traineddata(繁體,豎排)【CoderBaby】
- CentOS 6 (這個網上的安裝方案很少,真正可行的基本沒有)
(1)下載Leptonica 和 Teseract 源碼
wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz
wget https://github.com/tesseract-ocr/tesseract/archive/4.1.0.tar.gz
(2)配置、編譯和安裝
leptonica
$ tar xzvf leptonica-1.78.0.tar.gz
$ cd leptonica-1.78.0
$ ./configure
$ make
$ sudo make install
Tesseract-OCR
$ tar xzf tesseract-ocr-4.1.0.tar.gz
$ cd tesseract-4.1.0
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
*****************************************************************************
在安裝Tesseract-OCR過程中一步一錯,具體錯誤和解決辦法如下:
安裝:
(1)yum install tesseract
【Error】download出錯,鏡像163(可能網易的沒有)下載失敗
【Solution】更換阿里鏡像
切換到yum repo配置目錄: cd /etc/yum.repos.d
備份基礎repo: sudo mv CentOS-Base.repo CentOS-Base.repo.backup
(2)下載tesseract key校驗出錯
【Error】GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
【Solution1】不檢查key了—— 繞過方案
編輯epel.repo: vim /etc/yum.repos.d/epel.repo
改參數: gpgcheck=1 改為 gpgcheck=1
【Solution1】導入key —— 真正解決方案
cd /etc/pki/rpm-gpg
use rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
或者(從epel下載安裝RPM package)
yum -y install http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
或者
手動將key拷貝到正確目錄
詳情請參考: https://unix.stackexchange.com/questions/132757/how-to-automatically-accept-epel-gpg-key
*****************************************************************************
(3)下載語言包,並且拷貝到testdata
$ wget http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.eng.tar.gz
$ tar xzf tesseract-ocr-3.02.eng.tar.gz
$ sudo cp tesseract-ocr/tessdata/* /usr/local/share/tessdata
注:如果沒有C編譯器,先安裝gcc,具體請移步參考—— https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/
如果安裝失敗,需要配置軟件源
使用方法
參數的使用有兩種:
-
使用 -c 選項來設定單項參數的值,比如:
tesseract paper.png paper -l chi_sim -c language_model_ngram_on=1
其中,parer.png是源文件(圖片,文件完整路徑名請自行添加),paper是輸出文件名(默認為txt文件); -l 指定訓練集(chi_sim —— 簡體中文)允許使用多個 -c 選項來設置多個參數的值。
- 將多項參數設置寫入文件,然后在識別時使用該文件,比如:
tesseract paper.png paper -l chi_sim tess.conf
(4)更簡便的方法是使用yum方式安裝 (會根據CentOS版本選擇對應的Tesseract)
yuminstall
epel-release (一定要先裝,不然安裝tesseract會報錯:No package tesseract available.)
yum
install
tesseract
中文包
yum
install
tesseract-langpack-chi_sim.noarch
訓練文件位於
/usr/share/tesseract/tessdata/
參考:
1)https://stackoverflow.com/questions/23792373/installing-tesseract-ocr-on-centos-6
2)http://www.zmonster.me/2015/04/17/tesseract-install-usage.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
************************************************************************
精力有限,想法太多,專注做好一件事就行
- 我只是一個程序猿。5年內把代碼寫好,技術博客字字推敲,堅持零拷貝和原創
- 寫博客的意義在於打磨文筆,訓練邏輯條理性,加深對知識的系統性理解;如果恰好又對別人有點幫助,那真是一件令人開心的事
************************************************************************