一文了解文字識別OCR開源框架的對比
前言:
OCR文字識別在目前有著比較好的應用,也出現了很多的文字識別軟件,但軟件是面向用戶的。對于我們技術人員來說,有時難免需要在計算機視覺任務中加入文字識別,如車牌號識別,票據識別等,因此軟件對我們是沒用的,我們需要自己實現文字識別。
在文字識別方面,主要有兩款主流的開源框架Tesseract和EasyOCR。本文討論了 Tesseract 和 EasyOCR 使用 Python API 之間的主要區別,包括安裝、使用示例、準確率和推理速度方面的對比。
更多內容請關注公眾號CV技術指南,專注于計算機視覺的技術總結,最新技術跟蹤。
使用示例
Tesseract
安裝: pip install pytesseract pillow
使用示例:
| from PIL import Image import pytesseract text=pytesseract.image_to_string(Image.open(filename)) print(text) |
這只是一個簡單的使用示例,在實際應用中,圖像并非理想情況,還需要對圖像進行一定的預處理以更好地識別。如去除椒鹽噪聲,去除干擾物,如在車牌識別中還會利用矩形框檢測框出車牌所在位置,并放大,以更好地進行車牌號識別。
EasyOCR
安裝:pip install easyocr
使用示例
| import easyocr reader = easyocr.Reader(['ch_sim', 'en']) text = reader.readtext('filename') print(text) |
注:easyocr還會輸出文字在圖片中的坐標。
準確率
在參考鏈接[2]中進行了一項實驗,使用1000張含字母的圖片和1000張含數字的圖片分別使用Tesseract和EasyOCR進行測試。
含字母的輸入圖像如下圖所示:

含數字的輸入圖像如下圖所示:

經過測試得出下面兩個開源框架的準確率對比

如上圖所示,Tesseract 在字母識別方面做得更好,而 EasyOCR 在數字識別方面做得更好。
此外,它們在識別某些字符時存在完全不同的問題。例如,Tesseract 傾向于將諸如 29977.23 之類的東西識別為 2997.23,或者將carrier 識別為 cartier。另一方面,EasyOCR 更有可能將 94268.1 識別為 94268,或者advances 識別為 atvances。這兩個單詞識別的舉例表明這兩個框架對單個字母的識別傾向。
推理速度

在速度方面,Tesseract 在 CPU 上的表現優于 EasyOCR,而 EasyOCR 在 GPU 上的表現更好。
結論
Tesseract 在字母識別方面表現更好,而 EasyOCR 在數字方面表現更好。如果圖片包含大量字母,可以考慮 Tesseract。此外,EasyOCR 的輸出是小寫的。如果大寫對處理很重要,還應該使用 Tesseract。另一方面,如果圖片中包含大量數字,建議 EasyOCR。

在公眾號中回復關鍵字 “技術總結” 可獲取以下文章的匯總pdf。
更多內容請關注公眾號CV技術指南,專注于計算機視覺的技術總結,最新技術跟蹤。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
- 1 AI狂歡遇上油價破百,全球股市還能漲多久? | 產聯看全球
- 2 OpenAI深夜王炸!ChatGPT Images 2.0實測:中文穩、細節炸,設計師慌了
- 3 6000億美元估值錨定:字節跳動的“去單一化”突圍與估值重構
- 4 Tesla AI5芯片最新進展總結
- 5 連夜測了一波DeepSeek-V4,我發現它可能只剩“審美”這個短板了
- 6 熱點丨AI“瑜亮之爭”:既生OpenClaw,何生Hermes?
- 7 AI界的殺豬盤:9秒刪庫跑路,全員被封號,還繼續扣錢!
- 8 2026,人形機器人只贏了面子
- 9 DeepSeek降價90%:價格屠夫不是身份,是戰略
- 10 AI Infra產業鏈卡在哪里了?


分享













