Python利用Gradio与EasyOCR构建在线识别文本的Web应用

 更新时间:2023年04月04日 09:20:49   作者:IT里的交易员  
随着人工智能的不断发展,各种智能算法越来越普遍,本文就给大家介绍一种通过训练好的算法进行文字识别的方法,而且是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在线识别文本的资料请关注脚本之家其它相关文章!

相关文章

  • python eval()函数使用详情

    python eval()函数使用详情

    这篇文章主要来来聊聊python eval()函数使用方法本文将以python eval()函数使用方法来展开内容,需要的小伙伴可以参考以下文章的内容,希望对你有所帮助
    2021-10-10
  • Python对excel的基本操作方法

    Python对excel的基本操作方法

    这篇文章主要介绍了Python对excel的基本操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python基于codecs模块实现文件读写案例解析

    Python基于codecs模块实现文件读写案例解析

    这篇文章主要介绍了Python基于codecs实现文件读写案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python查找相似单词的方法

    Python查找相似单词的方法

    这篇文章主要介绍了Python查找相似单词的方法,涉及Python针对字符串的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Pandas 中的 drop_duplicates()详解

    Pandas 中的 drop_duplicates()详解

    Pandas 中的 drop_duplicates() 函数用于从 DataFrame 中删除重复的行,该函数有一些参数,允许你进行不同方式的重复行处理,本文给大家介绍Pandas 中的 drop_duplicates(),感兴趣的朋友跟随小编一起看看吧
    2023-09-09
  • Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)

    Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)

    今天小编就为大家分享一篇Tensorflow tf.dynamic_partition矩阵拆分示例(Python3) ,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python之pkl文件的用法及说明

    python之pkl文件的用法及说明

    这篇文章主要介绍了python之pkl文件的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python对比两个字典dict的差异详解

    python对比两个字典dict的差异详解

    这篇文章主要为大家详细介绍了python 如何对比两个字典dict的不同差异,文中的示例代码简洁易懂,具有一定的学习价值,感兴趣的可以了解一下
    2023-05-05
  • python中Class(类)的超详细说明

    python中Class(类)的超详细说明

    这篇文章主要介绍了python中Class(类)的相关资料,Class类定义了具有相同属性和方法的对象集合,对象是类的实例,类变量在整个实例化的对象中是公用的,而实例变量是每个对象独有的,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • 在mac下查找python包存放路径site-packages的实现方法

    在mac下查找python包存放路径site-packages的实现方法

    今天小编就为大家分享一篇在mac下查找python包存放路径site-packages的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论