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工具识别图像文本_第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

上面 easyocr-server 项目的核心代码在 GitHub: easyocr-server/ocr.py 中,可以按实际需求修改。

到此这篇关于Python如何使用EasyOCR工具识别图像文本的文章就介绍到这了,更多相关Python EasyOCR识别图像文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Python如何使用EasyOCR工具识别图像文本)