开源 Python API,用于构建智能 OCR 应用
免费 Python OCR API,用于检测和识别图像中的文本,包括自然场景、表单和 Python 应用中的扫描文档。
MonkeyOCR 是什么?
MonkeyOCR 是一个先进的、端到端的光学字符识别系统,基于深度学习,为寻求强大且灵活解决方案的软件开发者而构建。由刘宇亮开发,该库能够精确检测并识别来自多种来源的文本,包括自然场景、表单和扫描文档。其模块化且可扩展的架构将前沿的深度学习技术与强大的推理管线相结合,使其在实际文本识别任务中表现卓越。实际应用范围从发票扫描、身份证读取到从招牌提取文本,以及构建多语言 OCR 或 PDF 到数据的流水线。
为实现最大灵活性,MonkeyOCR 使软件工程师能够创建独立于商业 OCR 引擎的智能文档处理系统。它拥有一系列高级特性,如完全模块化的 OCR 管线、简易的 YAML 配置文件以及高效的批量推理支持。系统提供带坐标的精确文本框输出,采用现代模型如用于检测的 DBNet++ 和用于识别的 CRNN,全部在可配置的前后处理框架内完成。这种模块化设计、对当代模型的支持以及易于配置的组合,使 MonkeyOCR 完美适用于构建复杂的真实世界应用——从企业文档自动化到基于移动端的场景文本识别。
开始使用 MonkeyOCR
推荐的 MonkeyOCR 安装方式是使用 pip。请使用以下命令进行顺利安装。
Install MonkeyOCR via pip
pip install MonkeyOCR Install MonkeyOCR via GitHub
git clone https://github.com/Yuliang-Liu/MonkeyOCR.git You can also install it manually; download the latest release files directly from GitHub repository.
使用 Python 从收据图像中提取文本
开源的 MonkeyOCR 是一个基于深度学习技术的端到端光学字符识别系统。开发扫描文档、身份证、收据或车牌的应用的软件开发者可以将 MonkeyOCR 直接接入其后端流水线。凭借其模块化设计,您可以仅使用检测模型或将其与识别模型结合,以从图像中提取结构化文本。以下是一个简单示例,演示如何使用 Python API 从收据图像中提取文本。
How to Extract Text from a Receipt Image via Python API?
from monkey_ocr.ocr_predict import OCRPredictor
ocr = OCRPredictor(det_model_path="weights/dbnet.pth", rec_model_path="weights/crnn.pth")
results = ocr.predict("receipt.jpg")
for line in results:
print(line['text'])
特定用例的自定义 OCR 流水线
开源 MonkeyOCR 库的最大优势之一是其模块化架构。软件开发者可以根据应用需求混合搭配检测、识别和分类模型。例如,文档扫描应用可以使用轻量级的 DBNet 检测模型和 CRNN 识别模型,以优化速度和准确性。
Custom OCR Pipelines via Python API?
from monkey_ocr.ocr_predict import OCRPredictor
ocr = OCRPredictor(
det_model_path="weights/dbnet.pth",
rec_model_path="weights/crnn.pth"
)
results = ocr.predict("form_image.jpg")
for item in results:
print(item["text"], item["box"])
与业务软件的集成
开源 MonkeyOCR 库也可以嵌入企业文档工作流,例如在 ERP 或 CRM 系统中实现数据录入自动化。软件开发者可以在后台运行 MonkeyOCR,扫描用户上传的扫描 PDF 或基于图像的文档,自动提取结构化信息。通过使用 config.yaml 配置 MonkeyOCR,团队可以在不同部署之间保持一致性。
构建自动化表单读取器
通过将 MonkeyOCR 的文本检测与位置信息(边界框)结合,开发者可以设计智能表单读取器,定位字段(例如 “姓名”、 “日期”、 “金额”)并提取相应数据。这对于税务文件、医疗表单或调查问卷尤为适用。