Easyocr - 3行代碼識別圖片中的任意語言文字

今天給大家介紹一個超級簡單且強大的OCR文本識別工具:easyocr.
這個模塊支持70多種語言的即用型OCR,包括中文,日文,韓文和泰文等。
下面是使用這個模塊的實戰(zhàn)教程。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南?進行安裝。
如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內置了Python和pip.
此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install?easyocr它會安裝除了模型文件之外的所有依賴,模型文件則會在運行代碼的時候下載。
對于Windows,如果在安裝Torch或Torchvision時報錯了,請先按照https://pytorch.org 的官方說明安裝Torch和Torchvision 。
在pytorch網(wǎng)站上,請確保選擇正確的CUDA版本。如果僅打算在CPU模式下運行,請選擇CUDA = None。
2.實戰(zhàn)教程
這個模塊用起來真的非常簡單,三行代碼完事了:
import?easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test.png')運行的過程中會安裝所需要的模型文件,像下面這樣:

不過它的下載速度非常慢,而且經(jīng)常會失敗,因此這里給出第二個解決方案:先下載好模型文件,再將其放置到所需要的位置:
如果下載速度太慢,請在Python實用寶典公眾號后臺回復:easyocr, 下載我上傳到微云網(wǎng)盤的文字檢測模型(CRAFT)和中文簡體模型文件包。
下載完模型后,將文件放到下面這個位置。
Windows:C:\Users\用戶名.EasyOCR\model
Linux:~/ .EasyOCR / model
如下圖所示:

重新執(zhí)行腳本不會再提醒下載模型了:
import?easyocr
reader = easyocr.Reader(['ch_sim'])
result = reader.readtext('test.png')
print(result)我隨便截了一個直播彈幕的圖片保存在腳本所在的文件夾下,命名為test.png:

結果如下:

基本上所有應該識別的文字都識別出來了,效果非常不錯。
另外也可以看到,輸出采用列表格式,每個item分別表示對應文字的邊界框,識別文本結果和置信度。
這個模塊還能識別多語種的情況:

我將這張圖片命名為test2.jpg,修改代碼中對應的圖片名稱:
import?easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test2.jpg')
print(result)效果如下:

這張圖片很復雜,而且是中英文混雜在一起的情況,但是可以看到模型除了左上角的水印,圖片中的文字基本都是識別出來了,盡管有部分文字識別錯誤,但還在可以接受的范圍之內。
不過需要注意的是,雖然可以一次性識別許多種語言,但并非所有語言都可以一起用,通常是公共語言和一個特殊語種可以一起識別,相互兼容,比如英語和日語。
如果你的電腦沒有GPU或者顯存不足,可以加一個gpu=false的參數(shù)僅使用CPU運行:
reader = easyocr.Reader(['ch_sim','en'], gpu = False)另外,這個模塊還支持直接使用命令行運行,相當方便,大家可以試試:
easyocr -l ch_sim en -f test.png --detail=1?--gpu=True我們的文章到此就結束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關注Python實用寶典。
有任何問題,可以在公眾號后臺回復:加群,回答相應紅字驗證信息,進入互助群詢問。
原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!
點擊下方閱讀原文可獲得更好的閱讀體驗
Python實用寶典?(pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典
