首页 / 详情
Site icon

RapidOCR

基本信息

RapidOCR 网站截图预览

工具详情

RapidOCR 使用指南

一、平台介绍

RapidOCR 是由 RapidAI 团队开发的开源离线 OCR 工具套件。其基于 PaddleOCR 进行了 ONNX 轻量化优化,旨在提供更快、更轻的识别方案。

1. 核心特性

  • 纯本地运行:完全脱离云端依赖,无网络环境下即可工作。
  • 跨端轻量化:资源占用低,适合嵌入式及边缘设备。
  • 性能优越:推理速度远超原版 PaddleOCR。

2. 开源协议与版权

  • 工程代码:采用 Apache 2.0 协议,完全开源免费。
  • 模型版权:识别模型的版权归属百度,商用需遵守相应协议(合规性已确保)。

3. 配套地址导航

  • 📘 官方文档:https://rapidai.github.io/RapidOCRDocs/latest/
  • 💻 GitHub 源码:https://github.com/RapidAI/RapidOCR
  • 🔗 在线 Demo:https://huggingface.co/spaces/RapidAI/RapidOCRv2

二、主要功能模块

1. 文字识别能力

  • 默认支持:中英混合文本,包含数字与标点符号。
  • 特殊布局:支持竖排文本及多语言模型转换(如日韩文、繁体中文等)。
  • 输出结果:提供文字内容 txts、坐标框 boxes 及置信度分数 scores,并可生成带标注的可视化图片。

2. 多推理后端支持

用户可根据硬件环境按需选用不同的推理引擎:

  • 🏃‍♂️ rapidocr_onnxruntime(默认):轻量快速,通用性好。
  • 🧠 rapidocr_openvino:专为 Intel CPU 设备加速优化。
  • 🔗 rapidocr_paddle:原生 Paddle 推理接口,适合特定场景。

3. SDK 与集成支持

  • 语言覆盖:提供 Python、C++、Java、C# 全平台开发包。
  • 应用场景:可轻松嵌入桌面软件、服务端系统或边缘计算设备中。

4. 配套工具服务

  • rapidocr_api:一键启动 HTTP 识别服务,对外暴露标准 API 接口。
  • 命令行工具:支持单张图片或批量图片的离线识别与结果导出。
  • Docker 镜像:提供一键部署服务端环境的能力。

5. 自定义微调能力

  • 支持开发者使用自有数据集进行模型微调。
  • 允许替换检测、识别及分类阶段的子模型,满足个性化需求。

三、适用人群与场景建议

✅ 推荐使用场景

  1. 开发者群体:需要本地 OCR 集成、构建私有化系统或开发内网项目的技术人员。
  2. 数据处理任务:批量处理票据、截图、扫描文档以提取文字,且对隐私敏感(严禁数据上传云端)的场景。
  3. 桌面工具作者:正在制作自制截图 OCR、PDF 转 Word/文本提取器等独立软件的开发人员。
  4. 中小企业 IT:部署于内网的文档管理系统、证件识别系统或表单数字化项目,希望避免云 API 调用费用及流量限制的用户。

❌ 不适合场景

  1. 零代码用户:没有编程基础且无命令行操作意愿的普通大众(软件本身不提供独立可视化 GUI)。
  2. 特殊文本需求:超高精度古籍识别、复杂手写体文字等(该工具主要针对印刷体优化,专业手写 OCR 效果较弱)。

四、免费与付费说明

🚫 无隐形消费

  • 全程免费模式:不存在订阅制、按量计费或定价页面。
  • 永久开放权限:所有工程代码、推理包及基础中英模型均永久免费,个人与商业用途均可直接使用(需遵守开源协议)。

💸 唯一的付费项

  • 开发者赞助:唯一涉及费用的项目是自愿向开发团队进行的 GitHub Sponsor 赞助。此行为非强制性质,也不用于解锁任何软件功能。
  • 无云端 API 收费:因工具纯本地运行,不存在云服务的调用次数、流量上限等计费体系。

五、如何使用

1. Python 环境安装

在终端或命令行中执行以下指令进行基础依赖库的安装:

bash

pip install rapidocr onnxruntime
pip install rapidocr onnxruntime

2. Python 代码调用示例

支持读取本地图片路径,也支持直接传入网络图片 URL。

python

from rapidocr import RapidOCR

# 初始化识别器(默认加载 ONNX Runtime)
ocr = RapidOCR()

# 执行识别:输入为图片文件名或 URL
result = ocr("test.jpg") 

# 输出结果结构解析
print(result.txts)   # 打印文字内容列表
print(result.boxes)   # 打印坐标框列表
print(result.scores)  # 打印置信度分数

# 生成带边框的标注图片保存至本地
result.vis("output.jpg") 
from rapidocr import RapidOCR

# 初始化识别器(默认加载 ONNX Runtime)
ocr = RapidOCR()

# 执行识别:输入为图片文件名或 URL
result = ocr("test.jpg") 

# 输出结果结构解析
print(result.txts)   # 打印文字内容列表
print(result.boxes)   # 打印坐标框列表
print(result.scores)  # 打印置信度分数

# 生成带边框的标注图片保存至本地
result.vis("output.jpg") 

3. 命令行快速识别工具

无需编写代码,直接使用 CLI 进行批量处理:

bash

rapidocr -img test.jpg --vis_res
rapidocr -img test.jpg --vis_res

-v--verbose: 可开启详细日志输出。

-w--workers: 设置工作线程数(多线程加速)。

4. 启动 HTTP 识别服务

适合需要后端 API 对接 Web 或小程序的场景:

bash

rapidocr_api -p 9000 -workers 2 
# POST http://127.0.0.1:9000/ocr -> 上传图片即可调用
rapidocr_api -p 9000 -workers 2 
# POST http://127.0.0.1:9000/ocr -> 上传图片即可调用

5. 跨语言集成指引

对于 C++、Java 或 C# 开发者,请查阅官方文档对应语言的 SDK 章节。通常流程为:下载对应的 ONNX 模型文件后,加载至相应语言的推理接口中复用代码逻辑。

六、注意事项

🔒 1. 网络与隐私安全

  • 字体依赖:首次运行可视化功能(vis())时会自动联网下载默认字体包。若处于断网环境,请注释 result.vis 方法或提前准备本地中文字体文件以规避报错。
  • 数据安全:所有图片均在本地内存处理完毕即销毁,无数据外传行为,非常适合涉密内网及隐私敏感场景使用。

🛠️ 2. 环境兼容性配置

  • Windows 依赖:必须在 Windows 系统安装 VC++ 2015+ 运行库(如 Visual Studio Build Tools),否则 onnxruntime 组件会因缺少 C/C++ 运行时而报错。
  • Python 版本建议:推荐使用 Python 3.8 ~ 3.11 版本,过高或过低的版本可能导致第三方依赖包冲突或兼容性问题。

⚡ 3. 性能优化技巧

  • Intel CPU 加速:若使用 Intel 平台处理图片较多,优先选择 openvino 后端推理包,实测速度可提升 30%+。
  • 批量识别策略:避免在单进程中阻塞等待,建议启动多个实例或配置多进程(如开启 HTTP API 服务)来并发处理任务队列。

📚 4. 模型能力边界认知

  • 文本类型限制:手写文字、艺术字等效果较差;最佳适配场景为印刷体文档、手机截屏、标准票据。
  • 多语言扩展:默认仅提供中英双语,若需识别其他语种(如日文),需要自行下载并配置对应的 ONNX 模型文件至环境目录中。

⚖️ 5. 商用合规提示

  • 代码协议:工程源代码采用 Apache 2.0,使用自由无限制。
  • 模型版权注意:核心的 PP-OCR 模型版权归属百度。若用于商业用途(如对外售卖 SaaS、企业级集成),请务必阅读并遵守百度的开源模型协议及商业授权条款。

🐳 6. Docker 部署细节

  • 模型挂载:Docker 启动时需手动将本地预训练模型目录挂载进容器,否则镜像首次运行会尝试自动下载大体积文件,耗时较长且占用带宽。
  • 嵌入式设备:硬件资源紧张(如树莓派)时,建议选用轻量级 small 尺寸模型,以减少内存与显存占用。

🖥️ 7. GUI 界面缺失提醒

  • 原生提供的是 API/命令行接口,无预装的桌面版可视化软件。若需要图形化操作体验(如拖拽图片识别),开发者需自行封装界面或基于现有 Python SDK 开发前端程序。


评论

暂无评论