Umi-OCR命令行调用手册:自动化OCR任务的完整指南
2026-02-04 05:05:22作者:仰钰奇
还在手动截图识别文字?Umi-OCR命令行工具让你一键自动化所有OCR任务,释放双手,提升10倍工作效率!
本文将为你全面解析Umi-OCR的命令行功能,从基础操作到高级自动化,让你彻底掌握这个强大的离线OCR工具的命令行调用技巧。
🚀 命令行能力全景图
Umi-OCR提供了丰富的命令行接口,支持多种OCR场景:
flowchart TD
A[Umi-OCR命令行接口] --> B[基础控制指令]
A --> C[OCR识别指令]
A --> D[二维码操作指令]
A --> E[高级编程接口]
B --> B1[--show 显示窗口]
B --> B2[--hide 隐藏窗口]
B --> B3[--quit 退出程序]
B --> B4[--reload 重载配置]
C --> C1[--screenshot 截图识别]
C --> C2[--clipboard 剪贴板识别]
C --> C3[--path 文件路径识别]
D --> D1[--qrcode_read 读取二维码]
D --> D2[--qrcode_create 生成二维码]
E --> E1[--all_pages 页面管理]
E --> E2[--all_modules 模块查询]
E --> E3[--call_py/qml 函数调用]
📋 环境准备与基础配置
安装与启动
Umi-OCR无需安装,解压即用。确保HTTP服务已开启:
- 启动Umi-OCR主程序
- 进入"全局设置" → "HTTP服务"
- 确认服务状态为"已启动"
- 记录服务端口(默认1224)
命令行基础语法
所有命令都通过主程序 Umi-OCR.exe 调用:
# 完整命令格式
Umi-OCR.exe [指令] [参数]
# 简化调用(多数系统支持)
umi-ocr [指令] [参数]
🎯 核心功能指令详解
1. 软件控制指令
| 指令 | 功能描述 | 示例 |
|---|---|---|
--show |
显示主窗口 | umi-ocr --show |
--hide |
隐藏主窗口 | umi-ocr --hide |
--quit |
退出程序 | umi-ocr --quit |
--reload |
重载配置文件 | umi-ocr --reload |
2. OCR识别指令
截图识别
# 鼠标交互截图
umi-ocr --screenshot
# 指定屏幕范围截图
umi-ocr --screenshot screen=0 rect=50,100,300,200
参数说明:
screen: 显示器编号(从0开始)rect: 截图区域x坐标,y坐标,宽度,高度
剪贴板识别
# 识别剪贴板中的图片
umi-ocr --clipboard
文件路径识别
# 识别单个文件
umi-ocr --path "D:/文档/图片1.png"
# 识别多个文件
umi-ocr --path "D:/img1.png" "D:/img2.png"
# 识别整个文件夹
umi-ocr --path "D:/图片文件夹"
# 混合识别(文件+文件夹)
umi-ocr --path "D:/img1.png" "D:/图片文件夹" "E:/备份图片"
3. 二维码指令
读取二维码
# 读取单个二维码图片
umi-ocr --qrcode_read "D:/二维码.png"
# 批量读取二维码
umi-ocr --qrcode_read "D:/qr1.png" "D:/qr2.png" "D:/二维码文件夹"
生成二维码
# 生成默认尺寸二维码
umi-ocr --qrcode_create "https://example.com" "D:/output.png"
# 生成指定尺寸二维码(128x128)
umi-ocr --qrcode_create "文本内容" "D:/output.png" 128
# 生成非正方形二维码(128x256)
umi-ocr --qrcode_create "文本内容" "D:/output.png" 128 256
📊 输出控制与结果处理
输出到剪贴板
umi-ocr --screenshot --clip
输出到文件
# 覆盖写入文件
umi-ocr --screenshot --output "result.txt"
# 追加到文件
umi-ocr --screenshot --output_append "log.txt"
# 使用箭头符号(等价写法)
umi-ocr --screenshot "-->" "result.txt"
umi-ocr --screenshot "->>" "log.txt"
输出格式示例
识别结果支持多种格式:
// JSON格式输出(包含详细位置信息)
{
"code": 100,
"data": [
{
"text": "识别文本内容",
"score": 0.998,
"box": [[x1,y1], [x2,y2], [x3,y3], [x4,y4]],
"end": "\n"
}
],
"time": 0.456,
"timestamp": 1725491324.123
}
# 纯文本格式输出
第一行识别文本
第二行识别文本
⚙️ 高级配置与参数调优
OCR参数配置
通过HTTP接口查询可用参数:
# 获取当前OCR引擎支持的所有参数
curl http://127.0.0.1:1224/api/ocr/get_options
常用参数配置表:
| 参数键 | 类型 | 默认值 | 描述 |
|---|---|---|---|
ocr.language |
枚举 | models/config_chinese.txt |
识别语言模型 |
ocr.cls |
布尔 | false |
文本方向校正 |
ocr.limit_side_len |
枚举 | 960 |
图像边长限制 |
tbpu.parser |
枚举 | multi_para |
排版解析方案 |
data.format |
枚举 | dict |
输出数据格式 |
忽略区域配置
{
"tbpu.ignoreArea": [
[[0,0], [100,50]], // 忽略左上角区域
[[400,300], [500,350]] // 忽略右下角区域
]
}
🔧 高级编程接口
页面管理
# 查询所有页面
umi-ocr --all_pages
# 创建新页面(示例:文档识别页面)
umi-ocr --add_page 3
# 删除页面
umi-ocr --del_page 2
模块函数调用
# 查询可用模块
umi-ocr --all_modules
# 查询模块函数
umi-ocr --call_py ScreenshotOCR
umi-ocr --call_qml BatchDOC
# 调用函数(添加文档到批量处理)
umi-ocr --call_qml BatchDOC --func addDocs '["C:/doc1.pdf", "C:/doc2.epub"]'
# 启动处理任务
umi-ocr --call_qml BatchDOC --func docStart
🚀 实战应用场景
场景1:自动化文档处理流水线
#!/bin/bash
# 自动处理指定文件夹中的所有图片
for file in /path/to/images/*.png; do
umi-ocr --path "$file" --output_append "results.txt"
echo "已处理: $file" >> processing.log
done
场景2:定时截图识别监控
# Windows计划任务 + 范围截图
umi-ocr --screenshot screen=0 rect=100,100,800,600 --output "monitor_$(date +%Y%m%d_%H%M%S).txt"
场景3:批量二维码生成器
# 从URL列表批量生成二维码
counter=1
while read url; do
umi-ocr --qrcode_create "$url" "qrcode_${counter}.png" 256
counter=$((counter+1))
done < urls.txt
📋 性能优化建议
批量处理优化
# 推荐:一次性传入多个路径
umi-ocr --path "folder1" "folder2" "file1.png" "file2.jpg"
# 不推荐:多次单独调用
umi-ocr --path "folder1"
umi-ocr --path "folder2"
umi-ocr --path "file1.png"
内存管理
- 大批量处理时建议分批次进行
- 可使用
--quit配合脚本实现内存清理 - 考虑使用HTTP接口进行流式处理
⚠️ 常见问题与解决方案
问题1:命令无响应
解决方案:
- 确认Umi-OCR主程序已启动
- 检查HTTP服务是否开启
- 验证端口设置(默认1224)
问题2:输出重定向失败
解决方案:
- 使用
--output参数代替系统重定向符 - 或者使用HTTP接口获取结果
问题3:并发调用冲突
解决方案:
- Umi-OCR不支持高并发,请串行调用
- 添加调用间隔(建议至少100ms)
- 使用任务队列机制
🎯 最佳实践总结
- 路径处理:始终使用双引号包裹含空格的路径
- 批量操作:一次性传入多个路径而非多次调用
- 输出控制:优先使用内置输出参数而非系统重定向
- 错误处理:检查返回码并添加重试机制
- 资源管理:大批量处理时注意内存使用
🔮 扩展应用思路
与其他工具集成
# 结合HotkeysCMD实现快捷键触发
F10 umi-ocr --screenshot screen=0 rect=50,100,300,200
# 结合AutoHotkey实现复杂自动化
# 结合Python脚本实现业务逻辑封装
企业级应用场景
- 文档数字化流水线
- 图像内容监控系统
- 二维码批量管理系统
- 多语言文档处理平台
通过本指南,你已经掌握了Umi-OCR命令行调用的所有核心技能。现在就开始自动化你的OCR工作流,享受效率提升带来的成就感吧!
下一步建议:
- 尝试将命令行调用集成到你的现有工作流程中
- 探索HTTP接口实现更复杂的应用场景
- 关注项目更新以获取新功能和性能优化
提示:本文基于Umi-OCR v2.1.5编写,不同版本可能存在细微差异,请以实际版本文档为准。
登录后查看全文
热门项目推荐
相关项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00
最新内容推荐
终极Emoji表情配置指南:从config.yaml到一键部署全流程如何用Aider AI助手快速开发游戏:从Pong到2048的完整指南从崩溃到重生:Anki参数重置功能深度优化方案 RuoYi-Cloud-Plus 微服务通用权限管理系统技术文档 GoldenLayout 布局配置完全指南 Tencent Cloud IM Server SDK Java 技术文档 解决JumpServer v4.10.1版本Windows发布机部署失败问题 最完整2025版!SeedVR2模型家族(3B/7B)选型与性能优化指南2025微信机器人新范式:从消息自动回复到智能助理的进化之路3分钟搞定!团子翻译器接入Gemini模型超详细指南
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
525
3.72 K
Ascend Extension for PyTorch
Python
329
391
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
877
578
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
335
162
暂无简介
Dart
764
189
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.33 K
746
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
React Native鸿蒙化仓库
JavaScript
302
350