Skip to content

Repository files navigation

MarkdownOCR - 智能截图OCR识别工具

Version Platform .NET

一款基于多模态大模型的智能截图OCR识别工具,支持快速截图并通过AI模型进行文字识别,结果以美观的悬浮窗形式展示。

🌟 产品优势

🧠 多模态大模型驱动

  • 突破传统OCR局限:采用先进的多模态大模型技术,而非传统的OCR算法
  • 深度理解能力:不仅识别文字,更能理解图像中的语义和上下文关系
  • 智能纠错:自动修正识别过程中的错误,提供更准确的结果
  • 持续进化:随着模型更新不断提升识别能力

🔓 开源生态兼容

  • Ollama全兼容:支持Ollama平台上的所有开源多模态大模型
  • 模型自由选择:可根据需求切换不同的OCR模型
  • 社区驱动:受益于开源社区的持续贡献和模型优化
  • 成本优势:无需付费API,完全免费使用

🏠 本地部署优势

  • 数据隐私保护:所有处理完全在本地进行,敏感信息不会上传到云端
  • 离线可用:无需网络连接,随时随地使用
  • 响应迅速:本地处理避免网络延迟,实现毫秒级响应
  • 稳定可靠:不受网络波动影响,确保服务稳定性

📚 学术场景优化

  • LaTeX数学公式识别:精确识别复杂的数学公式和符号
  • Markdown语法支持:智能识别和保留Markdown格式
  • 论文笔记神器:完美适配学术研究和论文写作场景
  • 多语言混合:支持中英文混合文本的精确识别

⚡ 高性能体验

  • 实时响应:优化的图像预处理和模型推理,实现秒级识别
  • 智能缓存:模型预加载和智能缓存机制,减少等待时间
  • 资源优化:高效的内存管理,不占用过多系统资源
  • 处理时间显示:实时显示识别耗时,性能透明可见

✨ 核心特性

🎯 智能截图

  • 快速截图:一键启动截图模式
  • 精确选择:鼠标拖拽选择任意区域
  • 白色虚线框:优雅的选择框设计,不干扰视觉
  • 即时隐藏:截图完成后界面立即隐藏

🤖 AI文字识别

  • 本地AI模型:基于Ollama的benhaotang/Nanonets-OCR-s模型
  • 高精度识别:支持中英文混合文本识别
  • 无网络依赖:完全本地化处理,保护隐私
  • 快速响应:优化的图像预处理,提升识别速度

🎨 现代化界面

  • 悬浮窗设计:结果以悬浮窗形式展示,不干扰工作流
  • 智能定位:悬浮窗自动定位在截图区域附近
  • 圆形按钮:美观的图标按钮设计
  • 一键复制:点击复制按钮或Ctrl+C快速复制结果
  • 视觉反馈:复制成功时按钮变绿并显示✓图标

⚡ 轻量化设计

  • 单文件发布:仅一个exe文件,无需安装
  • 内存优化:高效的内存管理,不占用过多系统资源
  • 快速启动:秒级启动,即用即走
  • 无残留文件:不在本地保存截图文件

🚀 快速开始

系统要求

  • 操作系统:Windows 10/11 (x64)
  • 运行时:.NET 9.0 Runtime (已内置)
  • AI服务:Ollama服务 + benhaotang/Nanonets-OCR-s模型

安装步骤

  1. 下载程序

    下载 MarkdownOCR.exe 到任意目录
    
  2. 安装Ollama

    # 访问 https://ollama.ai 下载并安装Ollama
    # 或使用包管理器安装
  3. 下载推荐OCR模型

    # 推荐使用高精度OCR模型
    ollama pull benhaotang/Nanonets-OCR-s:latest

    💡 模型推荐:我们强烈推荐使用 benhaotang/Nanonets-OCR-s:latest 模型,该模型在中英文混合文本、数学公式和复杂排版方面表现优异。

  4. 启动Ollama服务

    ollama serve
  5. 运行程序

    双击 MarkdownOCR.exe 启动
    

使用方法

  1. 启动程序:双击运行MarkdownOCR.exe
  2. 开始截图:程序启动后自动进入截图模式
  3. 选择区域:鼠标拖拽选择要识别的文字区域
  4. 查看结果:识别完成后悬浮窗自动显示结果
  5. 复制文本:点击📋按钮或按Ctrl+C复制识别结果
  6. 关闭程序:点击✕按钮或按ESC键退出

效果展示

OCR识别效果示例

上图展示了MarkdownOCR的实际使用效果:智能识别图片中的文字内容,并以美观的悬浮窗形式展示识别结果

🔧 技术架构

核心组件

  • 截图引擎 (capture.cs):负责屏幕截图和区域选择
  • 图像处理 (imageProcess.cs):图像预处理和格式转换
  • AI接口 (ollama.cs):与Ollama服务通信
  • 用户界面 (gui.cs):悬浮窗和交互逻辑

技术栈

  • 框架:.NET 9.0 + Windows Forms
  • 图像处理:System.Drawing
  • AI模型:Ollama + benhaotang/Nanonets-OCR-s
  • HTTP通信:HttpClient
  • JSON处理:System.Text.Json

📋 功能特色

🎨 用户体验

  • ✅ 一键截图,无需复杂操作
  • ✅ 白色虚线选择框,视觉友好
  • ✅ 智能悬浮窗定位
  • ✅ 圆形图标按钮设计
  • ✅ 复制成功视觉反馈
  • ✅ 键盘快捷键支持

⚡ 性能优化

  • ✅ 单文件发布,即下即用
  • ✅ 内存优化,轻量运行
  • ✅ 本地AI处理,无网络延迟
  • ✅ 图像预处理优化
  • ✅ 不保存临时文件

🔒 隐私安全

  • ✅ 完全本地化处理
  • ✅ 不上传任何数据
  • ✅ 不保存截图文件
  • ✅ 无网络依赖

🛠️ 开发信息

编译要求

  • .NET 9.0 SDK
  • Windows 10/11 开发环境
  • Visual Studio 2022 或 VS Code

编译命令

# 开发版本
dotnet build

# 发布版本
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

📝 更新日志

v1.2.0 (2024-12-19)

  • ✨ 正方形按钮设计,优化视觉体验
  • ✨ 智能布局优化,防止按钮遮挡
  • ✨ 处理时间显示,性能监控透明化
  • ✨ 动态窗口尺寸调整,适配不同内容长度
  • 🔧 优化代码结构,提升维护性
  • 🔧 改进布局算法,确保所有控件完整显示
  • 🔧 性能监控集成,实时显示识别耗时

v1.0.0 (2024-01-26)

  • ✨ 首次发布
  • ✨ 支持快速截图功能
  • ✨ 集成Ollama OCR识别
  • ✨ 现代化悬浮窗界面
  • ✨ 圆形图标按钮设计
  • ✨ 一键复制功能
  • ✨ 轻量化单文件发布

🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目!

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢


MarkdownOCR - 让文字识别变得简单高效 🚀

About

OCR via multimodal large models (not traditional algorithms), compatible with all Ollama-supported open-source multimodal models. Enables local deployment for data privacy, recognizes LaTeX math formulas and Markdown syntax—ideal for papers and math notes, with high real-time performance and responsiveness.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages