一 、介紹
Tesseract是一款由Google贊助的開源OCR。 pytesseract是python包裝器,它爲可執行文件提供了pythonic API。
Tesseract 已經有 30 年曆史,開始它是惠普實驗室的一款專利軟件,在2005年後由Google接手並進一步開發和完善。Tesseract支持多種語言文字的檢測和識別,包括中文、英語、德語、法語、意大利語等多種主要語言,同時也支持針對特定場景或應用的領域OCR開發。
Tesseract基於機器學習技術,使用了多層神經網絡以及支持向量機(SVM)等算法進行文字特徵提取和識別。同時,Tesseract通過圖像預處理、二值化、斑點去除和邊框檢測等多個環節優化頁面處理流程,並且提供了多種字體、大小、旋轉角度和噪聲等挑戰場景下的訓練數據集,使得識別精度可以獲得不錯的性能表現。
二、安裝
1、python安裝pytesseract
pip install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple/
2、python安裝Pillow圖片處理
pip install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple/
3、pytesseract需要和安裝在本地的tesseract-ocr.exe文件一起使用
根據你的操作系統,選擇適當的版本進行下載和安裝。安裝勾選中文語言包
4、系統變量path添加tesseract的安裝路徑xx:\Program Files\tesseract
系統變量path詳細添加,或者遇到沒有找到文件問題請看我的下一篇
三、使用
import pytesseract from PIL import Image #英文lang='eng'#中文:lang='chi_sim'#中英文混合:lang='chi_sim+eng' text = pytesseract.image_to_string(Image.open(r"./img/a.jpg"), lang='eng') print("英文:",text)
上述代碼假設你有一個名爲"a.png"的圖像文件,它位於同級/img工作目錄下。通過image_to_string()
函數,將圖像轉換爲文本,並將結果存儲在text
變量中。最後,可以使用print
語句打印出識別的文本。
這就是使用Tesseract及pytesseract進行OCR的基本步驟。你可以根據自己的需求進一步探索和調整代碼。