Python利用Gradio與EasyOCR構(gòu)建在線識別文本的Web應(yīng)用
前言
隨著人工智能的不斷發(fā)展,各種智能算法越來越普遍,本文就給大家介紹一種通過訓(xùn)練好的算法進(jìn)行文字識別的方法,而且是Web頁面可視化操作,方便調(diào)用。
一、Gradio是什么
Gradio是一個開源的 Python 庫,用于構(gòu)建機器學(xué)習(xí)和數(shù)據(jù)科學(xué)演示和 Web 應(yīng)用。
官網(wǎng):https://www.gradio.app/
Gradio適用于:
- 演示客戶/合作者/用戶/學(xué)生的機器學(xué)習(xí)模型。
- 部署通過自動共享鏈接快速創(chuàng)建模型,并獲得模型性能反饋。
- 排除故障使用內(nèi)置的操作和解釋工具,在開發(fā)過程中以交互方式處理您的模型。
案例展示:https://huggingface.co/spaces/hysts/insightface-SCRFD
安裝包:https://pypi.org/project/gradio/
Github:https://github.com/gradio-app/gradio
安裝gradio庫
pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
二、EasyOCR的準(zhǔn)備工作
使用EasyOCR,需要安裝pytorch,當(dāng)讓也可以通過暗轉(zhuǎn)easyocr來帶動安裝torch相關(guān)庫。
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple
因為EasyOCR使用訓(xùn)練后的算法,所以在安裝完以上庫后還需要上官網(wǎng)https://www.jaided.ai/easyocr/modelhub/下載相應(yīng)的訓(xùn)練好的model文件。主要是以下三個文件,并將文件解壓到C:\Users\Administrator.EasyOCR\model 目錄下 。Administrator為登錄用戶名,根據(jù)自己情況修改哦。


另外以下兩個問題如果沒碰到最好,碰到了就按方法解決就是。
注1:如果出現(xiàn)多個python環(huán)境,安裝如出錯,可增加–user參數(shù)安裝到用戶目錄下。
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple --user
注2:如果出現(xiàn)如下提示:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
這是因為torch包中包含了名為libiomp5md.dll的文件,與Anaconda環(huán)境中的同一個文件出現(xiàn)了某種沖突,所以需要刪除一個。我是將\Anaconda3\Library\bin\下libiomp5md.dll改名libiomp5md_old.dll。
三、使用Gradio、easyocr構(gòu)建在線識別文本的 Web 應(yīng)用
完成了以上準(zhǔn)備工作,下面就到了見證奇跡的時刻。
import gradio as gr
import easyocr
import cv2
reader = easyocr.Reader(['ch_sim','en'])
def img2txt(image):
img = r"C:\text.jpg"
cv2.imwrite(img, image)
img_read = cv2.imread(img)
res = reader.readtext(img_read)
print('識別結(jié)果為:',res)
txt = ''
if len(res)>0:
for i in res:
txt += i[1]
return txt
interface = gr.Interface(fn=img2txt, inputs="image", outputs="text")
interface.launch()
運行后如下圖:

隨便上傳一張圖片,試試效果,如下圖:

總結(jié)
寥寥幾行代碼就能讓原本抽象的算法瞬間變成可視化的交互應(yīng)用,Gradio 真是不錯。
easyocr也不錯,識別效率也好高,不過還是有個別字識別有誤,需要手工鑒別。
以上就是Python利用Gradio與EasyOCR構(gòu)建在線識別文本的Web應(yīng)用的詳細(xì)內(nèi)容,更多關(guān)于Python Gradio EasyOCR在線識別文本的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用tensorflow顯示pb模型的所有網(wǎng)絡(luò)結(jié)點方式
今天小編就為大家分享一篇使用tensorflow顯示pb模型的所有網(wǎng)絡(luò)結(jié)點方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實現(xiàn)求解最大公約數(shù)的五種方法總結(jié)
求最大公約數(shù)是習(xí)題中比較常見的類型,本文小編將給大家提供五種比較常見的算法,都是用Python語言實現(xiàn)的,感興趣的小伙伴可以了解一下2022-07-07
使用Flask創(chuàng)建簡單的圖片上傳站點的流程步驟
在網(wǎng)絡(luò)應(yīng)用程序中,實現(xiàn)圖片上傳功能是一項常見的需求,Flask框架提供了簡單而靈活的工具,使得構(gòu)建這樣的功能變得相對簡單,本文將介紹如何使用Flask框架創(chuàng)建一個簡單的圖片上傳站點,以及其中涉及的關(guān)鍵技術(shù)和步驟,需要的朋友可以參考下2024-05-05
Django中的WebSocket實時通信的實現(xiàn)小結(jié)
在Django中,使用WebSocket可以實現(xiàn)實時通信,例如聊天應(yīng)用、實時更新等,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
pyv8學(xué)習(xí)python和javascript變量進(jìn)行交互
這篇文章主要介紹了pyv8學(xué)習(xí)python和javascript變量進(jìn)行交互,python取得javascript里面的值、javascript取得python里面的值、python和javascript里面的函數(shù)交互2013-12-12

