圖片文字辨識:Google Cloud Vision API vs pytesseract

環境安裝、使用教學、效果比較

邱秉誠
Carrot Cheng的數據分析
6 min readAug 13, 2020

--

這篇會介紹Google Cloud Vision API和pytesseract套件的環境安裝及使用教學,最後會進行兩者文字辨識效果的比較。辨識效果先講結論,Google Cloud Vision API 屌打pytesseract套件。

前言

近來在處理一個案子,從PDF擷取公文資料到EXCEL檔案裡面,以方便進行彙整統計,其中住址的部分因為涉及個人隱私,因此住址特別設計成圖片,並非一般文字,防止有心人士萃取,在處理圖片就比較麻煩一點,我採取的做法就是先以PyPDF2套件萃取圖片,再想辦法從圖片辨識出文字。

pytesseract

Tesseract是一個光學字元辨識(OCR)引擎,目前由Google 贊助開發。pythone使用Tesseract的套件就是pytesseract。

  1. 備妥程式運行環境
  • pip install pytesseract
  • 根據電腦環境在該網站下載tesseract.exe。
  • Github respository下載best trained model(ex:chi_tra.traineddata),放入到上述下載testdata資料夾裡面,以我的路徑為例:

C:\Program Files\Tesseract-OCR\tessdata

testdata資料夾
  • 加入系統環境變數

記得要加入系統環境變數,否則會噴出error,變數名稱是TESSDATA_PREFIX,路徑則是剛剛的testdatatestdata資料夾

2. 運行程式

用以下範例圖片測試:

3. 代碼實現

import pytesseract
from PIL import Image
#指定剛剛下載tesseract.exe的完整路徑
pytesseract.pytesseract.tesseract_cmd = r’C:\Program…

--

--

邱秉誠
Carrot Cheng的數據分析

畢業於台大工業工程所,目前任職於台積電。