EasyOCR:一款快速、多语言 OCR 库,适用于 Python

EasyOCR:一个快速、多语言 OCR 库(Python)

为什么选择 EasyOCR?

光学字符识别(OCR)驱动从数字化 PDF 到网络搜索引擎等一切。虽然已有许多商业 API 服务,EasyOCR 提供了一个开箱即用、免费 的替代方案,支持 80+ 语言,以及常见文字写体,如拉丁文、中文、阿拉伯文、天城文、西里尔文等。

关键优势概览: - 零成本 – 完全开源,无需 API 密钥。 - 快速推理 – 基于 PyTorch,模型下载轻量(≈30 MB)。GPU 加速推理为可选。 - Python 友好 API – 例如 easyocr.Reader();返回边界框、文本和置信度列表。 - 可扩展 – 可替换检测或识别后端;以最小改动插入新模型。 - 即插即用的 Hugging Face Spaces – 已发布 Gradio 演示,轻松公开 OCR 流水线。

快速安装 & 第一次运行

# 稳定版
pip install easyocr

如果你想获取最新版本或想贡献代码,请从源码安装:

pip install git+https://github.com/JaidedAI/EasyOCR.git

小贴士:在 Windows 上,请先使用对应 CUDA 版本安装 PyTorch:

pip install torch torchvision

import easyocr
# 创建读取器,加载简体中文和英文模型
reader = easyocr.Reader(['ch_sim', 'en'])
# 在图片路径或文件字节上运行 OCR
results = reader.readtext('chinese.jpg')
print(results)

输出:包含四点边界框、检测文本和置信度值的元组列表。

简化输出

如果你只关心文本字符串:

texts = reader.readtext('chinese.jpg', detail=0)
print(texts)
# ['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']

你也可以直接传入 OpenCV 图像(numpy.ndarray)或原始图像字节。若仅使用 CPU 推理,请在创建读取器时指定 gpu=False

Docker 部署

已包含预构建的 Dockerfile。可以本地构建或从 Docker Hub 拉取(如有):

docker build -t easyocr .
editor run -p 7860:7860 easyocr

容器会运行一个 Gradio 接口,镜像整个网页演示。

Hugging Face Spaces 演示

该库已打包一个即用的 Hugging Face Space: https://huggingface.co/spaces/JaidedAI/EasyOCR。

  • 浏览演示 → 上传图片;实时查看预测结果。
  • 克隆仓库;使用 python app.py 本地启动。
  • 根据自身需求修改空间——更换检测模型,添加自定义语言集等。

训练自己的模型(可选)

EasyOCR 采用模块化设计:

  • 检测 – CRAFT 或 DB。
  • 识别 – CRNN(ResNet + LSTM + CTC)或用户自定义。

仓库包含 trainer 文件夹下的训练脚本。要在自定义数据集上微调,先提供标注图像,用 easyocr/utils/ocr_annotation.py 生成注释,然后运行:

python -m trainer.trainer --config_path configs/train.yaml

如果只想微调超参数,easyocr/custom_model.md 指南会一步步演示流程。

未来路线图

  • 手写体支持 – 即将推出专用手写 OCR 模型。
  • 模块化插件 – 通过简单 API 改变即可插入业内领先检测(DB、EAST)或识别(Transformer)模型。
  • 优化推理 – 序列化量化与 ONNX 导出管道。

最佳实践

  1. 语言优先 – 传入准确语言列表可加速模型下载。
  2. 批处理 – 对大图集进行分批处理,降低 GPU 内存占用。
  3. 后处理 – 使用 detail=0 输出获取快速字符串列表,或保留边界框用于布局感知应用。
  4. GPU 使用 – 维持单块 GPU 活跃;库内部会批量推理。
  5. 开源贡献 – 欢迎通过 PR 反馈功能请求或 bug 修复。仓库甚至支持新增语言。

结论

EasyOCR 将速度、准确性与多语言能力集成到一个 Python 包中。无论你是快速原型小脚本,还是搭建生产级 OCR 核心,EasyOCR 都能帮你大幅节省时间并保持零成本。立即获取库,探索 Hugging Face 演示,马上开始提取图片文字。


资源 - 文档: https://github.com/JaidedAI/EasyOCR - Hugging Face Space: https://huggingface.co/spaces/JaidedAI/EasyOCR - Docker Hub: (如有) - 贡献指南: 查看仓库中的 CONTRIBUTING.md 文件。

原创文章: 查看原文

分享本文