news 2026/9/13 2:36:03

Umi-OCR 实战教程:从截图文字识别到批量 OCR 与自动化集成的完整路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Umi-OCR 实战教程:从截图文字识别到批量 OCR 与自动化集成的完整路径

Umi-OCR 实战教程:从截图文字识别到批量 OCR 与自动化集成的完整路径

【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR

Umi-OCR 是一款免费、开源的离线OCR文字识别工具:解压后的程序无需联网即可运行,识别过程全部在本地完成,可以当作免费离线文字识别工具长期使用。这份教程按"先跑通、再深入"的顺序展开:先带你完成第一次截图文字识别,随后逐个讲清截图识别代码、批量文档OCR、OCR自动化集成三块核心能力的使用方式,最后给出引擎选型、配置调优与排错建议。读完之后,你可以用框选方式提取代码文本,对一个文件夹的图片跑批量OCR,并在自己的脚本里调用 Umi-OCR。

第一次识别:三步完成首张截图文字识别

⚡ Umi-OCR 不需要安装。下载包是 7z 压缩包(或自解压包),解压后双击Umi-OCR.exe(Linux 下运行umi-ocr.sh)即可,不装环境、不联网。

第一次截图识别的完整操作只有三步:

  1. 打开主窗口的"截图OCR"标签页(软件启动时的默认页)。
  2. 按下默认截图快捷键Ctrl+Shift+A(可在"全局设置"中自定义),在屏幕上框选目标区域后松手。
  3. 识别结果出现在右侧"记录"栏:右键即可复制,也可选中多条记录一起复制;左侧图片预览上直接用鼠标划选也能复制。

下图是一个典型场景:一张 Python 代码截图被框选后,右侧立刻出现识别结果,缩进与行序基本保留,可以直接粘回编辑器。

三大核心能力详解:截图识别、批量文档OCR与自动化集成

这三项能力都是主窗口里的标签页,下面按功能模块拆解,方便按需查看。

截图识别:框选即得屏幕文字

框选一下,把屏幕上的文字提出来。

  1. 进入"截图OCR"页,按快捷键框选区域,等待识别完成。
  2. 右栏"设置"里按内容类型挑选排版解析方案
  3. "记录"栏右键复制,或选中多条记录一起复制;别处复制的图片也能直接粘贴进来识别。

关键参数:排版解析方案对应tbpu.parser,常用取值如下:

选项参数值适合的内容
多栏-按自然段换行multi_para普通文档、多栏排版,默认值
多栏-总是换行multi_line结构化内容,每行强制换行
单栏-保留缩进single_code代码截图,保留缩进与行中空格
不做处理none引擎原始输出

选型上,截图识别代码时建议选single_code以保留缩进;普通文档用默认的multi_para通常就很好用。

批量处理:一次跑完批量文档OCR

把一文件夹图片丢进去,拿回一组文本文件。

  1. 打开"批量OCR"页,拖入图片(支持 jpg/png/webp/bmp/tif 等格式)。
  2. 右栏选择保存路径与文件类型:txt / jsonl / md / csv(Excel)。
  3. 图片带水印、页眉页脚时,进入"忽略区域"编辑器按住右键画框;框尽量画大,完全落在框内的文本块才会被丢弃。
  4. 点击"开始任务",可勾选任务完成后自动关机或待机。

关键参数:输入图片无数量上限;识别超长图、大图时,把右栏设置里的限制图像边长调高即可;对应的 API 参数是tbpu.ignoreArea(矩形坐标)。

选型建议:批量任务先确认输出格式与忽略区域,能减少不少返工;跑大批量时可以直接配合关机选项挂机执行。

自动化集成:HTTP API 与命令行调用

不开图形界面,让脚本完成文字识别,这就是 OCR 自动化集成。

  1. 确认软件在运行且 HTTP 服务开启(默认开启,仅本地环回,默认端口 1224)。
  2. 本机快速任务走命令行:umi-ocr --path "D:/a.png" --clip把结果复制到剪贴板,用--output写文件。
  3. 程序化集成走POST /api/ocr:传入 Base64 图片,返回 JSON 结果。接口手册见 docs/http/README.md。
import base64, json, requests with open("sample.png", "rb") as f: img_b64 = base64.b64encode(f.read()).decode("utf-8") resp = requests.post( "http://127.0.0.1:1224/api/ocr", json={ "base64": img_b64, "options": { "data.format": "text", "tbpu.parser": "multi_para", }, }, ) print(json.loads(resp.text))

命令行识别会沿用"截图OCR"页的参数设置;HTTP 调用并发支持有限,建议串行发起。完整命令行手册见 docs/README_CLI.md。

引擎选型与配置调优:PaddleOCR 和 RapidOCR 怎么选

Umi-OCR 内置两套离线引擎,识别都不走网络,差别主要在定位与参数丰富度:

维度PaddleOCR-jsonRapidOCR-json
定位速度稍快,参数选项丰富(语言模型、边长限制等)兼容性好,轻量稳定
典型用途文档、多语言内容对兼容与稳定要求高的场景
切换方式"全局设置"中切换 OCR 插件(对应UmiOCR-data/plugins下的插件)同左

按文档类型搭配参数时,可以直接参考这张表:

文档类型推荐引擎ocr.limit_side_len排版解析tbpu.parser语言模型
代码截图RapidOCR960single_codeconfig_en.txt
中文扫描文档PaddleOCR960~2880multi_paraconfig_chinese.txt
日/韩文文档PaddleOCR960~2880multi_paraconfig_japan.txt/config_korean.txt
超长/大图PaddleOCR2880~4320multi_para按内容语言选择

界面上所有设置最终都保存在./UmiOCR-data/.settings(ini 格式),手动改完文件后执行umi-ocr --reload即可重新加载生效。常见键如下:

ocr.language = models/config_chinese.txt ocr.cls = false ocr.limit_side_len = 960 tbpu.parser = multi_para data.format = text

切换识别语言模型用ocr.language(适用于 PaddleOCR 引擎插件;其他引擎请通过GET /api/ocr/get_options查询可用参数),可选值包括:config_chinese.txt(简中)、config_en.txt(英文)、config_chinese_cht(v2).txt(繁中)、config_japan.txt(日文)、config_korean.txt(韩文)、config_cyrillic.txt(俄文)。

界面语言是另一层设置:"全局设置"→"语言/Language"。软件首次启动会跟随系统语言,之后可随时手动切换成英语、日本語等。

排错速查与深度优化:识别不准、速度偏慢怎么办

遇到问题时,建议先查下表,再决定改哪里:

现象常见原因解法
识别不准、漏字图片过大被压缩、方向颠倒ocr.limit_side_len调高到 2880/4320;开启ocr.cls方向校正(速度略降)
水印/页眉页脚干扰未排除干扰区域批量页右键绘制忽略区域,框画大些;API 端传tbpu.ignoreArea
批量识别慢大图多、边长限制偏高边长限制取 960 兼顾速度;简单文档换 RapidOCR 试试
界面闪烁、UI 错位显卡加速渲染冲突"全局设置"→"界面和外观"里更换渲染器或关闭硬件加速
HTTP 调用偶发ECONNREFUSED长时间连续调用、后端压力重新发起请求即可;尽量串行调用、避免并发

📌 渲染器、主题、字体这些界面项都在"全局设置"里调整,改动即时生效,不需要重启。

两条进阶技巧,点到为止:

  • 不改界面也能调参:直接编辑./UmiOCR-data/.settings,再执行umi-ocr --reload重载。
  • 脚本化驱动:命令行本质上等价于向本地/argv接口发送参数,umi-ocr --screenshot --clip一条命令就能完成"框选→识别→入剪贴板"。

总结与资源导航:从日常使用到二次开发

✅ 回顾一下,Umi-OCR 的要点有四条:免费开源、离线本地运行,数据不出本机;截图 / 批量 / 文档识别 / 二维码几类模块覆盖日常场景;引擎与参数可按文档类型切换;命令行与 HTTP 接口天然支持脚本集成。

一个值得记住的小细节:识别记录积累多了以后,"截图OCR"页可以右键"记录"栏,选择"复制全部""删除选中记录"或"清空全部记录",如下图菜单所示。

进一步学习(均为项目内本地文件,点开即读):

  • 命令行手册:docs/README_CLI.md
  • HTTP 接口手册:docs/http/README.md
  • 图片识别 API:docs/http/api_ocr.md
  • 文档(PDF)识别 API:docs/http/api_doc.md
  • 二维码 API:docs/http/api_qrcode.md
  • 参数总览:docs/http/argv.md
  • 项目说明与更新日志:README.md、CHANGE_LOG.md
  • Python 源码:UmiOCR-data/py_src/,二次开发时从这里入手

【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR

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

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

MySQL实战指南:从安装部署到架构原理、索引优化与面试

MySQL 这个数据库,我用了差不多十年。从最早在 Windows 上用免安装版解压折腾,到后来给生产环境搭主从、写备份脚本,再到面试时被人追着问“MySQL 原理”,这个生态里的每个环节我几乎都摸过一遍。写这篇文章的初衷很简单&#xff…

作者头像 李华
网站建设 2026/9/13 2:33:19

低功耗开发从入门到实践:安卓与嵌入式功耗优化全解析

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

作者头像 李华
网站建设 2026/9/13 2:33:08

摄像头麦克风隐私开关:PowerShell禁用设备实现系统级拦截

前阵子在咖啡馆赶活儿,旁边桌小哥视频会开到一半,镜头里突然多了一个穿着睡衣的影子,他手忙脚乱去关窗口,结果弹窗提示“摄像头已被占用”,整个咖啡店都在憋笑。这种尴尬实际上完全能避免——如果你提前给摄像头和麦克…

作者头像 李华
网站建设 2026/9/13 2:32:21

ncnn+PP-OCRv5:Android离线OCR部署实战

最近在给一个安卓项目加离线OCR能力,目标很明确:拍照或从相册选图,识别出图片里的中英文文字。当时没有多犹豫,直接锁定了 nihui/ncnn-android-ppocrv5 这个开源项目来做。原因很简单:ncnn 在移动端推理框架里属于老牌…

作者头像 李华