Python利用Gradio與EasyOCR構(gòu)建在線識(shí)別文本的Web應(yīng)用
前言
隨著人工智能的不斷發(fā)展,各種智能算法越來(lái)越普遍,本文就給大家介紹一種通過(guò)訓(xùn)練好的算法進(jìn)行文字識(shí)別的方法,而且是Web頁(yè)面可視化操作,方便調(diào)用。
一、Gradio是什么
Gradio是一個(gè)開(kāi)源的 Python 庫(kù),用于構(gòu)建機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)演示和 Web 應(yīng)用。
官網(wǎng):https://www.gradio.app/
Gradio適用于:
- 演示客戶/合作者/用戶/學(xué)生的機(jī)器學(xué)習(xí)模型。
- 部署通過(guò)自動(dòng)共享鏈接快速創(chuàng)建模型,并獲得模型性能反饋。
- 排除故障使用內(nèi)置的操作和解釋工具,在開(kāi)發(fā)過(guò)程中以交互方式處理您的模型。
案例展示:https://huggingface.co/spaces/hysts/insightface-SCRFD
安裝包:https://pypi.org/project/gradio/
Github:https://github.com/gradio-app/gradio
安裝gradio庫(kù)
pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
二、EasyOCR的準(zhǔn)備工作
使用EasyOCR,需要安裝pytorch,當(dāng)讓也可以通過(guò)暗轉(zhuǎn)easyocr來(lái)帶動(dòng)安裝torch相關(guān)庫(kù)。
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple
因?yàn)镋asyOCR使用訓(xùn)練后的算法,所以在安裝完以上庫(kù)后還需要上官網(wǎng)https://www.jaided.ai/easyocr/modelhub/下載相應(yīng)的訓(xùn)練好的model文件。主要是以下三個(gè)文件,并將文件解壓到C:\Users\Administrator.EasyOCR\model 目錄下 。Administrator為登錄用戶名,根據(jù)自己情況修改哦。
另外以下兩個(gè)問(wèn)題如果沒(méi)碰到最好,碰到了就按方法解決就是。
注1:如果出現(xiàn)多個(gè)python環(huán)境,安裝如出錯(cuò),可增加–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.
這是因?yàn)閠orch包中包含了名為libiomp5md.dll的文件,與Anaconda環(huán)境中的同一個(gè)文件出現(xiàn)了某種沖突,所以需要?jiǎng)h除一個(gè)。我是將\Anaconda3\Library\bin\下libiomp5md.dll改名libiomp5md_old.dll。
三、使用Gradio、easyocr構(gòu)建在線識(shí)別文本的 Web 應(yīng)用
完成了以上準(zhǔn)備工作,下面就到了見(jiàn)證奇跡的時(shí)刻。
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('識(shí)別結(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()
運(yùn)行后如下圖:
隨便上傳一張圖片,試試效果,如下圖:
總結(jié)
寥寥幾行代碼就能讓原本抽象的算法瞬間變成可視化的交互應(yīng)用,Gradio 真是不錯(cuò)。
easyocr也不錯(cuò),識(shí)別效率也好高,不過(guò)還是有個(gè)別字識(shí)別有誤,需要手工鑒別。
以上就是Python利用Gradio與EasyOCR構(gòu)建在線識(shí)別文本的Web應(yīng)用的詳細(xì)內(nèi)容,更多關(guān)于Python Gradio EasyOCR在線識(shí)別文本的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python基于codecs模塊實(shí)現(xiàn)文件讀寫(xiě)案例解析
這篇文章主要介紹了Python基于codecs實(shí)現(xiàn)文件讀寫(xiě)案例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Tensorflow tf.dynamic_partition矩陣拆分示例(Python3)
今天小編就為大家分享一篇Tensorflow tf.dynamic_partition矩陣拆分示例(Python3) ,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python對(duì)比兩個(gè)字典dict的差異詳解
這篇文章主要為大家詳細(xì)介紹了python?如何對(duì)比兩個(gè)字典dict的不同差異,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-05-05python中Class(類(lèi))的超詳細(xì)說(shuō)明
這篇文章主要介紹了python中Class(類(lèi))的相關(guān)資料,Class類(lèi)定義了具有相同屬性和方法的對(duì)象集合,對(duì)象是類(lèi)的實(shí)例,類(lèi)變量在整個(gè)實(shí)例化的對(duì)象中是公用的,而實(shí)例變量是每個(gè)對(duì)象獨(dú)有的,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法
今天小編就為大家分享一篇在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11