一文了解文字識別OCR開源框架的對比
前言:
OCR文字識別在目前有著比較好的應用,也出現了很多的文字識別軟件,但軟件是面向用戶的。對于我們技術人員來說,有時難免需要在計算機視覺任務中加入文字識別,如車牌號識別,票據識別等,因此軟件對我們是沒用的,我們需要自己實現文字識別。
在文字識別方面,主要有兩款主流的開源框架Tesseract和EasyOCR。本文討論了 Tesseract 和 EasyOCR 使用 Python API 之間的主要區(qū)別,包括安裝、使用示例、準確率和推理速度方面的對比。
更多內容請關注公眾號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 上的表現優(yōu)于 EasyOCR,而 EasyOCR 在 GPU 上的表現更好。
結論
Tesseract 在字母識別方面表現更好,而 EasyOCR 在數字方面表現更好。如果圖片包含大量字母,可以考慮 Tesseract。此外,EasyOCR 的輸出是小寫的。如果大寫對處理很重要,還應該使用 Tesseract。另一方面,如果圖片中包含大量數字,建議 EasyOCR。
在公眾號中回復關鍵字 “技術總結” 可獲取以下文章的匯總pdf。
更多內容請關注公眾號CV技術指南,專注于計算機視覺的技術總結,最新技術跟蹤。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網產業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
-
精彩回顧立即查看>> 【限時免費下載】TE暖通空調系統(tǒng)高效可靠的組件解決方案
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市