教你3行Python代码,识别图片中的任意语言文字
大家好
今天給大家介紹一個超級簡單且強大的OCR文本識別工具:easyocr.
這個模塊支持70多種語言的即用型OCR,包括中文,日文,韓文和泰文等。Python學習資料點擊免費領取
?
下面是這個模塊的實戰教程。
1.準備
pip?install?easyocr 復制代碼它會安裝除了模型文件之外的所有依賴,模型文件則會在運行代碼的時候下載。
對于Windows,如果在安裝 Torch 或 Torchvision 時報錯了,請按照pytorch.org?的官方說明安裝 Torch 和 Torchvision。
如果你想使用顯卡進行計算,你需要搜索下載CUDA,并在Pytorch網站上,確保選擇正確的CUDA版本。如果僅打算在CPU模式下運行,請選擇CUDA = None。
2.實戰教程
這個模塊用起來真的非常簡單,三行代碼完事了:
import?easyocr reader = easyocr.Reader(['ch_sim','en']) result = reader.readtext('test.png') 復制代碼運行的過程中會安裝所需要的模型文件,像下面這樣:
?
不過它的下載速度非常慢,而且經常會失敗,因此這里給出第二個解決方案:先下載好模型文件,再將其放置到所需要的位置:
文字檢測模型(CRAFT)(必須)
pythondict.com/go/?url=htt…
中文(簡體)模型(識別中文必須)
pythondict.com/go/?url=htt…
中國(傳統)模型
pythondict.com/go/?url=htt…
拉丁模型
pythondict.com/go/?url=htt…
日本模型
pythondict.com/go/?url=htt…
韓文模型
pythondict.com/go/?url=htt…
泰文模型
pythondict.com/go/?url=htt…
阿拉伯文模型
pythondict.com/go/?url=htt…
下載完模型后,將文件放到下面這個位置。
Windows:C:\Users\用戶名.EasyOCR\model Linux:~/ .EasyOCR / model
如下圖所示:
?
重新執行腳本不會再提醒下載模型了:
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的參數僅使用CPU運行:
reader = easyocr.Reader(['ch_sim','en'], gpu =?False) 復制代碼另外,這個模塊還支持直接使用命令行運行,相當方便,大家可以試試:
easyocr -l ch_sim en -f test.png --detail=1?--gpu=True 復制代碼我們的文章到此就結束啦,如果你喜歡今天的Python 實戰教程,給文章點個贊吧👍。
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的教你3行Python代码,识别图片中的任意语言文字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VScode开发PHP的必要插件
- 下一篇: 使用python读写灰度图像