news 2026/9/20 6:13:05

RapidOCR 快速上手:3 步跑通本地图片文字识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RapidOCR 快速上手:3 步跑通本地图片文字识别

RapidOCR 快速上手:3 步跑通本地图片文字识别

【免费下载链接】RapidOCR📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR

RapidOCR 是一个本地运行的 OCR(光学字符识别)工具库。你给它一张图片,它还你文字内容加位置坐标,全程不依赖云端接口。识别走"文本检测 → 方向分类 → 文字识别"三级流水线,支持中、英、日、韩、阿拉伯语等 15 种以上语种,默认基于 ONNX Runtime 在 CPU 上就能跑,也可以切换 PyTorch、TensorRT 等推理引擎。

三步让 RapidOCR 跑起来

这一步的目标:装好库,认出第一张图片里的字。

第一步,安装。它依赖 OpenCV 和 NumPy,安装时会自动带上:

pip install rapidocr

第二步,写一个最小脚本。图片放哪都行,路径传进去即可:

from rapidocr import RapidOCR engine = RapidOCR() result = engine("your_image.jpg") print(result.txts)

第三步,执行脚本。首次运行时,RapidOCR 会自动把默认模型下载到本地缓存目录,稍等片刻属正常现象。屏幕上应打印出类似('识别出的第一行文字', '第二行文字', ...)的元组,说明三级流水线全部走通。

想不写代码验证环境,也可以直接执行rapidocr check,它会跑通一次检测并报告依赖是否齐全。仓库里的 python/demo.py 是官方最小示例,和上面脚本几乎一致。

结果里有什么:文本、坐标和置信度

engine(...)返回的是RapidOCROutput对象,核心就三个字段:

  • txts:识别出的文字元组
  • boxes:每段文字的四点坐标,用于在原图上画框
  • scores:每段文字的置信度,0~1 之间的浮点数

它还有几个即插即用方法,覆盖常见导出需求:

result.to_json() # 转成 [{text, box, score}] 形式的 JSON 列表 result.to_markdown() # 转成 Markdown 纯文本 result.vis("vis.jpg") # 在原图上画框存图,返回可视化图片

调用result.vis("vis.jpg")后,当前目录会生成一张标注好的图片,框、文字、置信度一目了然。这是判断"识别得对不对"最快的方式。

上面这类深色背景浅色字的图也支持。如果你只想跑部分环节(比如只要文字位置不要识别),在调用时传use_det=True, use_rec=False即可,内部机制见 python/rapidocr/main.py。

换语言识别:日语、韩语、阿拉伯语

默认配置面向中文场景,但识别环节可以换语种。语种由Rec.lang_type控制,通过params参数覆盖,不需要改文件:

from rapidocr import RapidOCR engine = RapidOCR(params={"Rec.lang_type": "japan"}) result = engine("japan.jpg") print(result.txts)

支持值包括japankoreanarabiccyrillicdevanagarichinese_cht等,完整清单在 python/rapidocr/utils/typings.py 的LangRec里。换成日语图再跑,txts里应输出日文文字,模型会在首次使用时自动下载对应语种的版本。

想固化一套配置,执行rapidocr config --save_cfg_file my.yaml生成配置模板,再用RapidOCR(config_path="my.yaml")加载。params优先级高于配置文件,两者可以叠加。完整配置项集中在 python/rapidocr/config.yaml。

切换推理引擎与指定模型路径

默认推理引擎是 ONNX Runtime,无需额外依赖。如果你的环境有 GPU 或已装其他框架,可以把三个环节分别换成对应引擎:

params = { "Det.engine_type": "torch", "Rec.engine_type": "torch", } engine = RapidOCR(params=params)

可选值来自EngineTypeonnxruntimeopenvinopaddletorchtensorrtmnn,各引擎的线程、显存等高级开关在config.yamlEngineConfig段里,比如 TensorRT 的 FP16、CUDA 的设备号。想离线部署或预下载模型,可执行rapidocr download_models,模型清单和校验和见 python/rapidocr/default_models.yaml。

常见问题与踩坑提示

  • 首次运行卡在下载:模型默认从 ModelScope 拉取,无外网环境会一直等待。用rapidocr download_models在有网机器上预下载,再把models目录拷到目标机,或设Global.model_root_dir指向已有目录。
  • txts输出为空:先确认图上真的有大字。小字会被min_side_lentext_score(默认 0.5)过滤掉;把text_score调低到 0.3 重试,或检查图片是否超过max_side_len(默认 2000 边长上限)被缩放过。
  • 竖排文字识别乱:竖排文本依赖方向分类环节,确保use_clstrue(默认开启)。参考测试图 python/tests/test_files/text_vertical_words.png。
  • 想批量处理:对目录里每张图片循环调用engine(...),累积result.to_json()即可;识别引擎本身可跨线程复用,模型加载带锁,不会重复加载。
  • 接入 HTTP 服务:仓库的 api/ 目录指向配套的 RapidOCRAPI 项目,把本库包一层 FastAPI 即可对外提供识别接口;ocrweb/ 则是配套的 Web 演示页面。

更多用法细节参考官方文档目录 docs/,各语言端(Android、iOS、.NET、JVM)的封装分别在同名目录下有说明。

【免费下载链接】RapidOCR📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 6:11:30

AI写代码新选择:Gemini 3.0 Code Assistant 完整使用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 6:09:27

UE5 C++定时器全解析:FTimerHandle原理、用法与避坑指南

做UE5开发,尤其是用C写游戏逻辑的时候,定时器几乎是绕不开的基础工具。不管是实现技能冷却、连招窗口、AI巡逻等待,还是做伤害延迟生效、UI渐隐提示,本质上都是在跟"时间"打交道。我见过不少新手同事一碰到延迟操作就直…

作者头像 李华
网站建设 2026/9/20 6:08:23

MC.JS:纯前端Web 3D沙盒的技术实现与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 6:03:09

python-pptx 自动化生成初升高数学衔接 PPT 课件

简介:这份《初升高数学衔接PPT课件》定位为专业课件,面向即将升入高中或刚进入高一的学生、家长及数学教师,用于弥补初中到高中在知识深度、教学节奏与思维要求上的落差。课件围绕高中数学学习特点展开,涵盖预习课本、认真听讲、课…

作者头像 李华