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 导出管道。
最佳实践
- 语言优先 – 传入准确语言列表可加速模型下载。
- 批处理 – 对大图集进行分批处理,降低 GPU 内存占用。
- 后处理 – 使用
detail=0输出获取快速字符串列表,或保留边界框用于布局感知应用。 - GPU 使用 – 维持单块 GPU 活跃;库内部会批量推理。
- 开源贡献 – 欢迎通过 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 文件。