Python利用Gradio与EasyOCR构建在线识别文本的Web应用
前言
随着人工智能的不断发展,各种智能算法越来越普遍,本文就给大家介绍一种通过训练好的算法进行文字识别的方法,而且是Web页面可视化操作,方便调用。
一、Gradio是什么
Gradio是一个开源的 python 库,用于构建机器学习和数据科学演示和 Web 应用。
官网:https://www.gradio.app/
Gradio适用于:
- 演示客户/合作者/用户/学生的机器学习模型。
- 部署通过自动共享链接快速创建模型,并获得模型性能反馈。
- 排除故障使用内置的操作和解释工具,在开发过程中以交互方式处理您的模型。
案例展示: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的准备工作
使用EasyOCR,需要安装PyTorch,当让也可以通过暗转easyocr来带动安装torch相关库。
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple
因为EasyOCR使用训练后的算法,所以在安装完以上库后还需要上官网https://www.jaided.ai/easyocr/modelhub/下载相应的训练好的model文件。主要是以下三个文件,并将文件解压到C:\Users\Administrator.EasyOCR\model 目录下 。Administrator为登录用户名,根据自己情况修改哦。
另外以下两个问题如果没碰到最好,碰到了就按方法解决就是。
注1:如果出现多个Python环境,安装如出错,可增加–user参数安装到用户目录下。
pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple --user
注2:如果出现如下提示:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
这是因为torch包中包含了名为libiomp5md.dll的文件,与Anaconda环境中的同一个文件出现了某种冲突,所以需要删除一个。我是将\Anaconda3\Library\bin\下libiomp5md.dll改名libiomp5md_old.dll。
三、使用Gradio、easyocr构建在线识别文本的 Web 应用
完成了以上准备工作,下面就到了见证奇迹的时刻。
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('识别结果为:',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()
运行后如下图:
随便上传一张图片,试试效果,如下图:
总结
寥寥几行代码就能让原本抽象的算法瞬间变成可视化的交互应用,Gradio 真是不错。
easyocr也不错,识别效率也好高,不过还是有个别字识别有误,需要手工鉴别。
以上就是Python利用Gradio与EasyOCR构建在线识别文本的Web应用的详细内容,更多关于Python Gradio EasyOCR在线识别文本的资料请关注其它相关文章!
相关文章