
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/RapidOCRRapidOCR 是一款完全开源免费的离线 OCR 工具帮你在本地把照片、扫描件、截图里的文字快速提取出来——不依赖云服务、不需要 API Key纯 CPU 就能跑。下面按装好 → 跑通 → 用到场景里的节奏带你上手。环境准备与安装2 条命令搞定传统做法是调用云端 OCR 接口注册账号、申请密钥、按量计费代码还离不开网络。RapidOCR 的思路是把模型直接搬到本地用 ONNX 格式 多套推理引擎ONNX Runtime、OpenVINO、PaddlePaddle 等在 CPU 上推理识别结果不出你的机器。 你只需要一个 Python 环境3.8 及以上Windows / macOS / Linux 都行。打开终端执行安装pip install rapidocr onnxruntime第一条装 OCR 本体第二条装默认推理引擎。装好后可以先跑个自检确认文件完整、能正确识别测试图python -c from rapidocr import RapidOCR; from rapidocr.cli import check_install; check_install(RapidOCR())看到 Success! rapidocr is installed correctly! 就说明环境没问题。三行代码跑通第一次文字识别如果你想识别一张菜单照片上的字只需要这几行from rapidocr import RapidOCR engine RapidOCR() result engine(menu.jpg) print(result.txts) # 识别出的文字列表 result.vis(result.jpg) # 把文字框画回原图存成 result.jpg就这么短。几点值得留意第一次运行会自动下载模型存到包内的python/rapidocr/models/目录之后就是纯离线了。想换存放位置初始化时传model_root_dir即可。输入很宽容本地图片路径、网络图片、OpenCV 读出的 numpy 数组、甚至原始 bytesengine(...)都能直接吃进去。结果是个三件套result.txts文字、result.boxes每段文字的位置框、result.scores置信度。想知道文字在图上哪个位置用boxes就行。result.vis(...)会生成一张标注图肉眼核对识别质量特别直观。场景实战一从文档截图批量提取纯文本日常最高频的用法大概是把一堆截图、截图存下来的聊天记录变成可搜索的文本。核心就是循环 收集txtsfrom rapidocr import RapidOCR engine RapidOCR() for p in files: result engine(p) if result.txts: print(result.txts) # 或直接写入 txt / markdown如果不想逐行处理result本身还支持转 JSON、Markdown 等格式见python/rapidocr/utils/to_markdown.py配合vis标注图做截图 → 可编辑文档的流程基本就够了。场景实战二识别日文、韩文等多语言图片默认配置识别中英文没问题但遇到日文菜单、韩文路牌这类图片就要切换识别语言。RapidOCR 把检测、方向分类、识别拆成三条独立流水线语言主要作用在识别这一环from rapidocr import RapidOCR, LangRec, ModelType engine RapidOCR(params{ Rec.lang_type: LangRec.JAPAN, Rec.model_type: ModelType.MOBILE, }) result engine(japan_menu.jpg, use_clsFalse) print(result.txts)支持的语言清单在LangRec里包括日文、韩文、阿拉伯文、西里尔文、天城文等测试用例可以参考 tests/test_rec_language.py。下面是仓库测试集里的一张日文识别样本 小技巧如果图片本身是裁好的单行文字可以传use_detFalse, use_clsFalse只跑识别速度更快。配置与参数只记这 4 个就够用完整配置在 python/rapidocr/config.yaml但日常使用真的碰不到太多项。挑 4 个最影响体验的参数默认值作用Global.text_score0.5置信度门槛识别出的字低于它会被丢弃。识别结果里混入乱码就调高它漏字多就调低Global.use_det / use_cls / use_rec均为 true三段流水线的开关找文字框 → 判断文字方向 → 逐字识别。只做单行识别时关掉前两段能省一半时间Rec.lang_typech中英文切换识别语言如japan、korean、arabic*.engine_typeonnxruntime推理引擎可换 openvino、mnn、paddle、pytorch、tensorrt适配不同硬件另外两个容易踩的参数box_thresh文字框判定阈值和unclip_ratio框的外扩比例图片模糊或文字框偏小时调这两个。参数既可以在初始化时用params整体传入也可以在每次调用engine(...)时临时覆盖不用反复建引擎。常见坑与下一步️坑一图片带着 EXIF 旋转信息。手机拍的照片常自带旋转标记直接imread打开可能是歪的。RapidOCR 的加载逻辑会处理 EXIF 方向仓库里就有对应的测试样本️坑二离线环境跑不起来。第一次运行必须联网下载模型。纯内网部署的话先在联网机器上跑一次把models/目录拷过去或用model_root_dir指向已有模型目录。想继续深入完整参数说明和多语言模型列表README-CN.md想容器化部署ONNX GPU、TensorRT 等镜像docker/浏览器里直接上传图片识别的 Web 版ocrweb/非 Python 技术栈C、Java、.NET 等有各自的独立仓库Python 版核心逻辑在 python/rapidocr/先跑通上面三行代码再按场景挑参数微调——这个节奏用下来RapidOCR 基本就不会有陌生感了。【免费下载链接】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),仅供参考