詳解Tesseract之安裝及基本使用
前言
現在圖像識別技術非常普遍,各大雲廠商也都提供了對應的OCR服務,同時隨著5G的發展,對圖像的識別和處理也會產生更多的應用場景。對於我們來說了解開源的Tesseract很有必要。
什麼是OCR
OCR技術是光學字符識別的縮寫(Optical Character Recognition),是通過掃描等光學輸入方式將各種票據、報刊、書籍、文稿及其它印刷品的文字轉化為圖像信息,再利用文字識別技術將圖像信息轉化為可以使用的計算機輸入技術。
Tesseract基本介紹
Tesseract,是一款由HP實驗室開發並由Google維護的開源OCR引擎。
它是基於Apache許可證的自由軟件,自2006 年起由Google贊助開發。在2006年,Tesseract被認為是最精準的開源光學字符識別引擎之一。
Ubuntu下Tesseract安裝
在ubuntu環境下安裝非常簡單,只需要一行命令:
sudo apt install tesseract-ocr
安裝完畢後,你可以通過tesseract --version命令行來確認版本信息
當然現在最新的已經是4.0了, 如果想使用v4.0, 可以按照以下辦法來安裝:
sudo add-apt-repository ppa:alex-p/tesseract-ocr
sudo apt-get update
sudo apt-get install tesseract-ocr
默認語言包是英語,當然你如果需要識別中文,則需要安裝對應的中文語言包
#簡體中文
sudo apt-get install tesseract-ocr-chi-sim
#繁體中文
sudo apt-get install tesseract-ocr-chi-tra
也可以從Tesseract數據目錄下載,放到Tesseract-OCR項目的tessdata文件夾裡面。
Tesseract命令行參數
我們先通過tesseract --help-extra看看幫助說明,
-v, --version
查看當前版本
--list-langs
查看有哪些可用的 "語言"
識別命令
tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]
參數說明:
參數名稱說明imagename圖片文件outputbase輸出文件,也可以選擇命令行輸出stdout
-psm說明:
- 0 方向和腳本檢測(OSD)
- 1 使用OSD自動分頁
- 2 自動分頁,但沒有OSD或OCR
- 3 全自動頁面分割,但沒有OSD(默認)
- 4 假設一列可變大小的文本
- 5 假定一個統一的垂直排列文本塊
- 6 假設一個統一的文本塊
- 7 將圖像視為單個文本行
- 8 將圖像視為一個單詞
- 9 將圖像視為一個圓圈中的單個單詞
- 10 將圖像視為單個字符
注意:在4.0多增加了三個參數選項
Tesseract實際使用
我們以兔子先生的一個測試圖片為例子:
通過命令行執行:
tesseract test.jpg result --psm 4 -l chi_sim
查看reslut.txt文件
發現可以正常識別
遇到的坑
問題1 Ubuntu無法找到add-apt-repository
root@vps:~# add-apt-repository ppa:alex-p/tesseract-ocr
-bash: add-apt-repository: 未找到命令
原因:
當前環境需要安裝python-software-properties
解決辦法:
apt-get install python-software-properties
apt-get install software-properties-common
問題2 Tesseract無法安裝中文
root@vps:~# sudo apt-get install tesseract-ocr-chi_sim
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹
正在讀取狀態信息... 完成
E: 無法定位軟件包 tesseract-ocr-chi_sim
原因:
被github上的說明給誤導了,tesseract-ocr-chi_sim不是正確的名稱。
解決辦法:
改為tesseract-ocr-chi-sim
sudo apt-get install tesseract-ocr-chi-sim