天天看點

Python+Tesseract-OCR識别圖檔文字并儲存到word文檔使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔

目錄

  • 使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔
    • 安裝Tesseract-OCR
      • 配置Tesseract-OCR
      • 通過CMD驗證Tesseract-OCR工作
    • 安裝pytesseract
    • 代碼示例
    • 示例驗證注意事項
    • 示例圖檔
    • 結果展示
    • 學習過程小結

使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔

本文通過使用 Tesseract-OCR 進行圖檔文本識别。并通過python進行後續處理把識别的文本儲存到word文檔。本文僅作為入門,由于對于中文圖檔的識别率并不高,需要後續優化。

安裝Tesseract-OCR

Tesseract是一個開源文本識别引擎,通過Apache 2.0授權可用。可以直接使用,或者通過接口程式設計從圖檔提取文本,該引擎廣泛支援各種語言,本文以Python為例說明:

  1. 去Windows安裝包下載下傳頁面,選擇需要的

    位數

    版本.
  2. 運作安裝包,一路 下一步 直至安裝完成;

配置Tesseract-OCR

添加安裝目錄到系統環境變量path,比如:

//添加安裝目錄到系統path
C:\Program Files (x86)\Tesseract-OCR;
           

通過CMD驗證Tesseract-OCR工作

Python+Tesseract-OCR識别圖檔文字并儲存到word文檔使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔

安裝pytesseract

//cmd運作下列指令
pip install pytesseract
           

代碼示例

from PIL import Image
import pytesseract
import os
import io

tessdata_dir = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
txt = pytesseract.image_to_string(Image.open(
    './img/20180804.jpg'), lang='chi_sim', config=tessdata_dir)
print(txt)

if not os.path.exists('./result'):
    os.mkdir('./result')

with io.open('./result/test.doc', 'w') as fp:
    fp.write(txt)

                

示例驗證注意事項

中文圖檔需要使用參數 lang=‘chi_sim’

圖檔路徑可自己設定, 比如:D:/test.jpg

如果安裝Tesseract-OCR時未安裝該資料包, 可重新運作安裝程式,并選擇額外的語言包進行安裝

為避免系統變量設定問題程式不能找到訓練資料,建議設定

tessdata_dir

參數

print(txt) 為調試使用,可删除或者注釋掉

示例圖檔

Python+Tesseract-OCR識别圖檔文字并儲存到word文檔使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔

結果展示

Python+Tesseract-OCR識别圖檔文字并儲存到word文檔使用Python+Tesseract-OCR識别圖檔文字并儲存到word文檔

識别率不夠高,需要繼續優化,希望有高手指點(抱拳)

學習過程小結

學習流程圖:

Actions speak louder than words.

210 = 1024.