首页
/ Umi-OCR命令行调用手册:自动化OCR任务的完整指南

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服务已开启:

  1. 启动Umi-OCR主程序
  2. 进入"全局设置" → "HTTP服务"
  3. 确认服务状态为"已启动"
  4. 记录服务端口(默认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)
  • 使用任务队列机制

🎯 最佳实践总结

  1. 路径处理:始终使用双引号包裹含空格的路径
  2. 批量操作:一次性传入多个路径而非多次调用
  3. 输出控制:优先使用内置输出参数而非系统重定向
  4. 错误处理:检查返回码并添加重试机制
  5. 资源管理:大批量处理时注意内存使用

🔮 扩展应用思路

与其他工具集成

# 结合HotkeysCMD实现快捷键触发
F10 umi-ocr --screenshot screen=0 rect=50,100,300,200

# 结合AutoHotkey实现复杂自动化
# 结合Python脚本实现业务逻辑封装

企业级应用场景

  • 文档数字化流水线
  • 图像内容监控系统
  • 二维码批量管理系统
  • 多语言文档处理平台

通过本指南,你已经掌握了Umi-OCR命令行调用的所有核心技能。现在就开始自动化你的OCR工作流,享受效率提升带来的成就感吧!

下一步建议:

  • 尝试将命令行调用集成到你的现有工作流程中
  • 探索HTTP接口实现更复杂的应用场景
  • 关注项目更新以获取新功能和性能优化

提示:本文基于Umi-OCR v2.1.5编写,不同版本可能存在细微差异,请以实际版本文档为准。

登录后查看全文
热门项目推荐
相关项目推荐