Skip to content

tsingliuwin/miaocr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

喵OCR 🎯

喵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 密钥及特有选项,使主界面保持极简与纯粹。

🛠️ 集成的八大离线与云端 OCR 引擎

引擎名称 运行模式 依赖与说明 特点
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 工具链

  1. 克隆或解压项目源码,并进入目录:
    cd miaocr
  2. 在发布模式(Release)下编译并运行:
    cargo run --release
  3. 编译完成后,您可以在以下目录找到独立的可执行文件:
    • Windows: target/release/miaocr.exe
    • macOS: target/release/miaocr

📖 使用指南

  1. 拖拽移动与大小调整:鼠标长按系统标题栏,即可自由拖动悬浮窗位置;也可以拖拽边缘调整窗口大小以适应不同的内容显示。
  2. 选择区域
    • 点击 “选区” 按钮,整个屏幕会变成灰色半透明遮罩。
    • 按住鼠标左键并拖拽,框选需要进行 OCR 的目标区域。
    • 松开左键,悬浮窗将还原,并立刻启动该选区的持续自动识别
  3. 引擎选择与检测
    • 在顶部“引擎”下拉菜单中一键切换后端。
    • 如果所选本地引擎处于 未检测安装失败 状态,点击右侧的 “安装”(或 “重试”)按钮,工具将自动从最优镜像源下载、解压并配置。
    • 悬浮鼠标在“引擎:”旁的 图标上,可查看内置 MNN/ONNX 引擎与外置子进程引擎的区别与优缺点。
  4. 云端服务配置
    • 点击下拉菜单旁的 “⚙ 云配置” 按钮可进入专属的云配置页面。
    • 在配置页中,输入 API Token、选择云端模型并勾选方向、去畸变或图表识别等专用选项。
    • 点击 “⬅ 返回” 可保存设置并返回主页。
  5. 控制与复制
    • 选区生效后,点击 “暂停”/“继续” 按钮控制后台轮询。
    • 点击 “复制” 按钮将当前识别内容复制到剪贴板,下方会实时显示单次识别耗时与轮询间隔。

🗂️ 目录与文件说明

  • 运行日志:位于本地应用数据目录:
    • Windows: C:\Users\<您的用户名>\.miaocr\miaocr.log
    • macOS: ~/.miaocr/miaocr.log
  • 引擎缓存
    • 自动下载的本地 OCR 可执行程序与模型存放在 ~/.miaocr/PaddleOCR-json/~/.miaocr/RapidOCR-json/
    • Tesseract 语言包位于 ~/.miaocr/tessdata/
  • 识别记录:当前目录下的 ocr_log.txt

⚖️ 许可证

本项目采用 MIT License 许可发布。

About

基于 Rust 开发的实时屏幕选区 OCR 工具,支持本地OCR引擎和云端OCR引擎

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors