Easyocr - 3行代碼識(shí)別圖片中的任意語(yǔ)言文字

今天給大家介紹一個(gè)超級(jí)簡(jiǎn)單且強(qiáng)大的OCR文本識(shí)別工具:easyocr.
這個(gè)模塊支持70多種語(yǔ)言的即用型OCR,包括中文,日文,韓文和泰文等。
下面是這個(gè)模塊的實(shí)戰(zhàn)教程。
1.準(zhǔn)備
開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上。
請(qǐng)選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開(kāi) Cmd (開(kāi)始-運(yùn)行-CMD)。
2. MacOS 環(huán)境 打開(kāi) Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install easyocr它會(huì)安裝除了模型文件之外的所有依賴,模型文件則會(huì)在運(yùn)行代碼的時(shí)候下載。
對(duì)于Windows,如果在安裝 Torch 或 Torchvision 時(shí)報(bào)錯(cuò)了,請(qǐng)按照https://pytorch.org 的官方說(shuō)明安裝 Torch 和 Torchvision。
如果你想使用顯卡進(jìn)行計(jì)算,你需要搜索下載CUDA,并在Pytorch網(wǎng)站上,確保選擇正確的CUDA版本。如果僅打算在CPU模式下運(yùn)行,請(qǐng)選擇CUDA = None。
2.實(shí)戰(zhàn)教程
這個(gè)模塊用起來(lái)真的非常簡(jiǎn)單,三行代碼完事了:
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test.png')運(yùn)行的過(guò)程中會(huì)安裝所需要的模型文件,像下面這樣:

不過(guò)它的下載速度非常慢,而且經(jīng)常會(huì)失敗,因此這里給出第二個(gè)解決方案:先下載好模型文件,再將其放置到所需要的位置:
如果下載速度太慢,可以評(píng)論區(qū)獲取網(wǎng)盤(pán)下載地址, 下載我上傳到微云網(wǎng)盤(pán)的文字檢測(cè)模型(CRAFT)和中文簡(jiǎn)體模型文件包。
下載完模型后,將文件放到下面這個(gè)位置。
Windows:C:\Users\用戶名.EasyOCR\model
Linux:~/ .EasyOCR / model
如下圖所示:

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

結(jié)果如下:

基本上所有應(yīng)該識(shí)別的文字都識(shí)別出來(lái)了,效果非常不錯(cuò)。
另外也可以看到,輸出采用列表格式,每個(gè)item分別表示對(duì)應(yīng)文字的邊界框,識(shí)別文本結(jié)果和置信度。
這個(gè)模塊還能識(shí)別多語(yǔ)種的情況:

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

這張圖片很復(fù)雜,而且是中英文混雜在一起的情況,但是可以看到模型除了左上角的水印,圖片中的文字基本都是識(shí)別出來(lái)了,盡管有部分文字識(shí)別錯(cuò)誤,但還在可以接受的范圍之內(nèi)。
不過(guò)需要注意的是,雖然可以一次性識(shí)別許多種語(yǔ)言,但并非所有語(yǔ)言都可以一起用,通常是公共語(yǔ)言和一個(gè)特殊語(yǔ)種可以一起識(shí)別,相互兼容,比如英語(yǔ)和日語(yǔ)。
如果你的電腦沒(méi)有GPU或者顯存不足,可以加一個(gè)gpu=false的參數(shù)僅使用CPU運(yùn)行:
reader = easyocr.Reader(['ch_sim','en'], gpu = False)另外,這個(gè)模塊還支持直接使用命令行運(yùn)行,相當(dāng)方便,大家可以試試:
easyocr -l ch_sim en -f test.png --detail=1 --gpu=True我們的文章到此就結(jié)束啦~
老表薦書(shū)
圖書(shū)介紹:
《Excel+Python 飛速搞定數(shù)據(jù)分析與處理》xlwings創(chuàng)始人傾力打造,手把手教學(xué)“將Python作為Excel的腳本語(yǔ)言”開(kāi)源Python庫(kù)xlwings的誕生很好地回答了這些問(wèn)題,它讓Excel和Python珠聯(lián)璧合。而作為xlwings的創(chuàng)始人,本書(shū)作者將展示如何借用Python的力量,讓Excel快得飛起來(lái)!

點(diǎn)擊下方小程序直接購(gòu)買(mǎi)學(xué)習(xí)
購(gòu)買(mǎi)后加我微信,準(zhǔn)備開(kāi)啟一期技術(shù)圖書(shū):實(shí)踐讀書(shū)會(huì),21天讀《Excel+Python 飛速搞定數(shù)據(jù)分析與處理》+實(shí)踐+直播交流,參與規(guī)則:
1、必須購(gòu)買(mǎi)本書(shū),購(gòu)買(mǎi)后掃碼加我微信:pythonbrief;
2、參與需繳納9.9元老表讀書(shū)會(huì)基金,完成學(xué)習(xí)后會(huì)退還6.6元(剩余費(fèi)用用于維持讀書(shū)會(huì)獎(jiǎng)勵(lì)和后期發(fā)展)
3、堅(jiān)持連續(xù)21天學(xué)習(xí),服務(wù)包括參與群內(nèi)討論+3次小作業(yè)+1次大作業(yè)+2次直播
4、學(xué)習(xí)完成標(biāo)準(zhǔn):第一次簡(jiǎn)單點(diǎn),完成3小+1大作業(yè)即算完成學(xué)習(xí)
【注】本期限額30人,報(bào)名成功與否,按繳納報(bào)名費(fèi)用轉(zhuǎn)賬時(shí)間為準(zhǔn),預(yù)計(jì)下周開(kāi)始,最近兩天忙,消息回復(fù)較慢。
