Tesseract OCR 圖片文字識別

H東邪發表於2021-10-24

Tesseract 介紹

Tesseract是一個開源的文字識別引擎,支援多種語言。4.0.0版本增加了LSTM神經網路。Tesseract最初是由惠普公司研發,2005年開源。

Tesseract安裝

下載Tesseract的安裝包,地址

安裝過程

  1. 選擇常用的數學公式包,其他的語言包可以先不勾選,後續需要時再下載。如果勾選了安裝過程可能極慢甚至中斷。

  1. 設定環境變數

    設定TESSDATA_PREFIX環境變數到tesseract的data目錄。

選擇語言包

使用Tesseract進行文字識別時,需要下載相應的語言包,如本文需要對中文進行識別在data下載chi_sim.traineddata放到TESSDATA_PREFIX目錄下。

Tesseract中文識別

Tesseract沒有提供圖形介面,只能通過命令列或者程式語言來呼叫。

需要注意的是,在使用Tessearct對中文進行識別的時候需要指定使用的語言模型,否則會識別失敗出現一堆亂碼。

  1. 命令列呼叫Tesseract

    tesseract 1.png result -l chi_sim   # -l 引數指定語言模型
    
  2. python呼叫Tessearct

    使用python呼叫Tessearct需要首先安裝兩個python lib

    pip install pillow
    pip install pytesseract
    

    使用python呼叫Tessearct進行圖片中文識別

    # coding = utf-8
    from PIL import Image
    import pytesseract
    image = Image.open("1.png")
    # 這裡lang='chi_sim'引數很重要,意思是對中文進行識別,如果加這個引數預設應該是英文的,中文識別出來的是亂碼
    text = pytesseract.image_to_string(image, lang='chi_sim')
    print(text)
    
    '''
    類似於
    919@400 ROK
    1X
    < Aah @ Fix
    arta
    ExT, 2%
    Med Ea
    BAAR ALFRE RIE tS
    | Be Be
    cai | = LRT +R
    '''
    

Reference

Python:文字識別拋棄pytesser,直接使用Tesseract - Penguin (polarxiong.com)

tesseract官方文件:Tesseract User Manual | tessdoc (tesseract-ocr.github.io)

相關文章