今天給大家介紹一個(gè)超級(jí)簡(jiǎn)單且強(qiáng)大的OCR文本識(shí)別工具: easyocr .
這個(gè)模塊支持70多種語(yǔ)言的即用型OCR,包括中文,日文,韓文和泰文等。
下面是這個(gè)模塊的實(shí)戰(zhàn)教程。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請(qǐng)選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install easyocr
它會(huì)安裝除了模型文件之外的所有依賴,模型文件則會(huì)在運(yùn)行代碼的時(shí)候下載。
對(duì)于Windows,如果在安裝 Torch 或 Torchvision 時(shí)報(bào)錯(cuò)了,請(qǐng)按照https://pytorch.org 的官方說明安裝 Torch 和 Torchvision。
如果你想使用顯卡進(jìn)行計(jì)算,你需要搜索下載CUDA,并在Pytorch網(wǎng)站上,確保選擇正確的CUDA版本。如果僅打算在CPU模式下運(yùn)行,請(qǐng)選擇CUDA = None。
2.實(shí)戰(zhàn)教程
這個(gè)模塊用起來真的非常簡(jiǎn)單,三行代碼完事了:
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test.png')
運(yùn)行的過程中會(huì)安裝所需要的模型文件,像下面這樣:
不過它的下載速度非常慢,而且經(jīng)常會(huì)失敗,因此這里給出第二個(gè)解決方案:先下載好模型文件,再將其放置到所需要的位置:
上滑查看更多
文字檢測(cè)模型(CRAFT)(必須)
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/craft_mlt_25k.zip
中文(簡(jiǎn)體)模型(識(shí)別中文必須)
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese_sim.zip
中國(guó)(傳統(tǒng))模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese.zip
拉丁模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/latin.zip
日本模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/japanese.zip
韓文模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/korean.zip
泰文模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/thai.zip
阿拉伯文模型
https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/arabic.zip
如果下載速度太慢,請(qǐng)?jiān)赑ython實(shí)用寶典公眾號(hào)后臺(tái)回復(fù): easyocr , 下載我上傳到微云網(wǎng)盤的文字檢測(cè)模型(CRAFT)和中文簡(jiǎn)體模型文件包。
下載完模型后,將文件放到下面這個(gè)位置。
Windows:C:Users用戶名.EasyOCRmodel
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í)別出來了,效果非常不錯(cuò)。
另外也可以看到,輸出采用列表格式,每個(gè)item分別表示對(duì)應(yīng)文字的邊界框,識(shí)別文本結(jié)果和置信度。
這個(gè)模塊還能識(shí)別多語(yǔ)種的情況:
我將這張圖片命名為test2.jpg,修改代碼中對(duì)應(yīng)的圖片名稱:
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('test2.jpg')
print(result)
效果如下:
這張圖片很復(fù)雜,而且是中英文混雜在一起的情況,但是可以看到模型除了左上角的水印,圖片中的文字基本都是識(shí)別出來了,盡管有部分文字識(shí)別錯(cuò)誤,但還在可以接受的范圍之內(nèi)。
不過需要注意的是,雖然可以一次性識(shí)別許多種語(yǔ)言,但并非所有語(yǔ)言都可以一起用,通常是公共語(yǔ)言和一個(gè)特殊語(yǔ)種可以一起識(shí)別,相互兼容,比如英語(yǔ)和日語(yǔ)。
如果你的電腦沒有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
-
模型
+關(guān)注
關(guān)注
1文章
3243瀏覽量
48840 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84687 -
OCR
+關(guān)注
關(guān)注
0文章
144瀏覽量
16360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論