Python怎么使用EasyOCR工具识别图像文本

蜗牛 互联网技术资讯 2023-04-13 54 0

本文小编为大家详细介绍“Python怎么使用EasyOCR工具识别图像文本”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么使用EasyOCR工具识别图像文本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

什么是 EasyOCR ?

描述: EasyOCR 是一个用于从图像中提取文本的 python 模块, 它是一种通用的 OCR,既可以读取自然场景文本,也可以读取文档中的密集文本。目前支持 80 多种语言和所有流行的书写脚本,包括:拉丁文、中文、阿拉伯文、梵文、西里尔文等。

EasyOCR 是 PyTorch 实现的一个光学字符识别 (OCR) 工具。

Q: 使用 EasyOCR 可以干什么?

描述: EasyOCR 支持两种方式运行一种是常用的CPU,而另外一种是需要GPU支持并且需安装CUDA环境, 我们使用其可以进行图片中语言文字识别, 例如小程序里图片识别、车辆车牌识别(即车债管理系统)。

安装 EasyOCR

在命令窗口中,使用 pip 安装 EasyOCR 稳定版本。

pip install easyocr

使用 EasyOCR

import easyocr

reader = easyocr.Reader(
    ['ch_sim', 'en'],
    gpu=False,
    model_storage_directory='model/.',
    user_network_directory='model/.',
)
result = reader.readtext('examples/chinese.jpg')

执行上面的代码时,会自动通过网络下载检测与识别模型到指定目录下。

  • ['ch_sim', 'en'],: 指定识别的语言

  • gpu=False,: 设置是否使用GPU (EasyOCR在GPU上运行效率更高, 没有GPU或者GPU内存不足时设置False)

  • model_storage_directory='model/.',: 检测与识别模型的存储路径 (没有设置时默认存储在~/.EasyOCR/model目录)

识别结果 result 是一个列表,列表中的每一项都是一个长度为 3 的识别结果,例如 ([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),它们分别是 边界框检测到的文本置信度 值。

easyocr-server

EasyOCR 服务器是一个用于从图像中提取文本。它是一种通用的 OCR,既可以读取自然场景文本,也可以读取文档中的密集文本。目前支持 80+ 种语言,并且还在扩展。

安装步骤

步骤 0. 从 GitHub 下载 easyocr-server 并安装。

git clone https://github.com/hekaiyou/easyocr-server.git

步骤 1. 使用 PyPI 安装 easyocr、 bottle 和 gevent 模块。

cd easyocr-server
pip install -r requirements.txt

验证安装

python main.py
  • Browser: http://localhost:8080/ocr/

  • CMD: curl http://localhost:8080/ocr/ -F "language=en" -F "img_file=@examples/english.png"

验证成功后,您应该能够在浏览器中看到打印的推理结果。

Python怎么使用EasyOCR工具识别图像文本  python 第1张

通过 Docker 部署服务

我们提供了一个 Dockerfile 来构建镜像。

docker build -t easyocr-server:latest .

运行它。

docker run -it -v {DATA_DIR}:/workspace/model -p 8083:8080 easyocr-server:latest
Language Code Name
Abaza abq
Adyghe ady
Afrikaans af
Angika ang
Arabic ar
Assamese as
Avar ava
Azerbaijani az
Belarusian be
Bulgarian bg
Bihari bh
Bhojpuri bho
Bengali bn
Bosnian bs
Simplified Chinese ch_sim
Traditional Chinese ch_tra
Chechen che
Czech cs
Welsh cy
Danish da
Dargwa dar
German de
English en
Spanish es
Estonian et
Persian (Farsi) fa
French fr
Irish ga
Goan Konkani gom
Hindi hi
Croatian hr
Hungarian hu
Indonesian id
Ingush inh
Icelandic is
Italian it
Japanese ja
Kabardian kbd
Kannada kn
Korean ko
Kurdish ku
Latin la
Lak lbe
Lezghian lez
Lithuanian lt
Latvian lv
Magahi mah
Maithili mai
Maori mi
Mongolian mn
Marathi mr
Malay ms
Maltese mt
Nepali ne
Newari new
Dutch nl
Norwegian no
Occitan oc
Pali pi
Polish pl
Portuguese pt
Romanian ro
Russian ru
Serbian (cyrillic) rs_cyrillic
Serbian (latin) rs_latin
Nagpuri sck
Slovak sk
Slovenian sl
Albanian sq
Swedish sv
Swahili sw
Tamil ta
Tabassaran tab
Telugu te
Thai th
Tajik tjk
Tagalog tl
Turkish tr
Uyghur ug
Ukranian uk
Urdu ur
Uzbek uz
Vietnamese vi

读到这里,这篇“Python怎么使用EasyOCR工具识别图像文本”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram