喵OCR 是一个基于 Rust 开发的实时屏幕选区 OCR 工具。它采用精致且可置顶的悬浮窗口设计,配合系统原生标题栏呈现高对比度、质感出众的浅色主题,支持用户自由选择屏幕区域进行实时、高频、连续的文字识别,并将结果展示于多行文本框,同时自动去重归档至本地日志与系统剪贴板中。
本工具专为高效率跨平台办公和开发调试设计,目前在 Windows 与 macOS 上提供了极好的原生支持,并且在本地集成了多种顶级的离线与云端 OCR 引擎。
- 📌 置顶悬浮窗口:精致、可置顶的卡片风格悬浮窗,全新优化的浅色高对比度主题,设计精美现代,可拖动、最小化并可自由调整窗口宽度与高度。
- 🔍 动态屏幕选区:点击“选区”按钮隐藏窗口,支持多显示器拖拽选择需要识别的任意矩形区域。
- ⚡ 智能预处理:
- 对小于 500x400 的小区域选区自动进行 2x Catmull-Rom 插值放大与锐化,大幅提高极小文字的识别精度。
- 针对原生 OCR 和 Tesseract 自动应用大津法(Otsu)二值化与智能反色,完美适配深色/浅色背景。
- 🔄 自适应轮询:常驻后台识别线程,根据最近几次识别的实际耗时动态调整下次识别的休眠时间(50ms~1000ms),兼顾高响应与极低 CPU 占用。
- 📝 智能日志归档:识别结果将自动写入当前目录下的
ocr_log.txt。支持结果去重,若选区内容未变,会自动更新对应内容的时间戳区间(格式为[开始时间 ~ 结束时间]),避免刷屏。 - 📦 开箱即用,零门槛部署:本地离线引擎支持在界面中一键“下载安装”,自动解压配置。
- 🌐 国内网络加速:所有下载通道集成了多镜像源自动轮询(包括国内代理 Gitee / ModelScope / ghproxy 等),且内置 SSL 证书绕过(
-k),彻底告别 GitHub 连接失败导致的报错。 - ⚙️ 专属云端配置:提供专门的云配置页面,支持便捷管理云端 OCR(如百度 AI Studio)的 API 密钥及特有选项,使主界面保持极简与纯粹。
| 引擎名称 | 运行模式 | 依赖与说明 | 特点 |
|---|---|---|---|
| Windows 原生 (系统自带) | 本地 | 无需下载任何依赖,直接调用 WinRT 系统的 OCR 模块。 | 极速、开箱即用。 |
| macOS 原生 (系统自带) | 本地 | 无需下载,首次运行时将通过 Swift 在本地编译并调用系统的 Vision OCR。 | 极速、效果出众。 |
| PP-OCRv5 (MNN 内置, 极速) | 本地内置 | 直接在程序内部使用 MNN 推理引擎加载。 | 毫秒级冷启动,最省系统资源。 |
| OarOCR (ONNX 内置, 兼容好) | 本地内置 | 直接在程序内部使用 ONNX Runtime 推理引擎加载。 | 兼容性与稳定性强,零延迟。 |
| PaddleOCR-json (Paddle 外置, 高精) | 本地外置 | 独立子进程运行的 Paddle 推理引擎,首次使用时一键下载安装。 | 识别精度非常优秀,支持崩溃隔离。 |
| RapidOCR-json (ONNX 外置, 稳定) | 本地外置 | 独立子进程运行的 ONNX 推理引擎,首次使用时一键下载安装。 | 内存占用低,无 AVX 指令集限制。 |
| Tesseract (传统多语言) | 本地外置 | 一键下载安装系统 Tesseract 程序及简体中文语言包。 | 老牌离线开源引擎,支持多语种。 |
| 百度 AI Studio (高精云端) | 云端 | 联网请求百度智能云 OCR 服务,需在「云配置」中提供 Token 密钥。 | 识别精确度最高,适合倾斜、手写与复杂表格。 |
- Windows:Windows 7 x64 及以上。
- macOS:macOS High Sierra 10.13 及以上(支持 M 系列和 Intel 芯片)。
由于本项目使用 Rust 编写,首先请确保您已安装 Rust 工具链。
- 克隆或解压项目源码,并进入目录:
cd miaocr - 在发布模式(Release)下编译并运行:
cargo run --release
- 编译完成后,您可以在以下目录找到独立的可执行文件:
- Windows:
target/release/miaocr.exe - macOS:
target/release/miaocr
- Windows:
- 拖拽移动与大小调整:鼠标长按系统标题栏,即可自由拖动悬浮窗位置;也可以拖拽边缘调整窗口大小以适应不同的内容显示。
- 选择区域:
- 点击 “选区” 按钮,整个屏幕会变成灰色半透明遮罩。
- 按住鼠标左键并拖拽,框选需要进行 OCR 的目标区域。
- 松开左键,悬浮窗将还原,并立刻启动该选区的持续自动识别。
- 引擎选择与检测:
- 在顶部“引擎”下拉菜单中一键切换后端。
- 如果所选本地引擎处于
未检测或安装失败状态,点击右侧的 “安装”(或 “重试”)按钮,工具将自动从最优镜像源下载、解压并配置。 - 悬浮鼠标在“引擎:”旁的
ℹ图标上,可查看内置 MNN/ONNX 引擎与外置子进程引擎的区别与优缺点。
- 云端服务配置:
- 点击下拉菜单旁的 “⚙ 云配置” 按钮可进入专属的云配置页面。
- 在配置页中,输入 API Token、选择云端模型并勾选方向、去畸变或图表识别等专用选项。
- 点击 “⬅ 返回” 可保存设置并返回主页。
- 控制与复制:
- 选区生效后,点击 “暂停”/“继续” 按钮控制后台轮询。
- 点击 “复制” 按钮将当前识别内容复制到剪贴板,下方会实时显示单次识别耗时与轮询间隔。
- 运行日志:位于本地应用数据目录:
- Windows:
C:\Users\<您的用户名>\.miaocr\miaocr.log - macOS:
~/.miaocr/miaocr.log
- Windows:
- 引擎缓存:
- 自动下载的本地 OCR 可执行程序与模型存放在
~/.miaocr/PaddleOCR-json/和~/.miaocr/RapidOCR-json/。 - Tesseract 语言包位于
~/.miaocr/tessdata/。
- 自动下载的本地 OCR 可执行程序与模型存放在
- 识别记录:当前目录下的
ocr_log.txt。
本项目采用 MIT License 许可发布。