# screenshot-ocr **Repository Path**: waterwx_admin/screenshot-ocr ## Basic Information - **Project Name**: screenshot-ocr - **Description**: 1、截图并用本地OCR识别成文字 2、把文字用飞书机器人的webhook发送到飞书 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-20 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Screenshot-OCR 精简版自动截图OCR工具 这是一个专为自动化设计的屏幕截图和OCR文字识别工具,专注于提供简单高效的固定区域截图OCR功能。 ## 🎯 核心特色 - **极简设计**:专注核心功能,去除冗余代码 - **一键执行**:运行即工作,无需复杂配置 - **配置驱动**:通过JSON文件灵活管理所有设置 - **全自动流程**:从截图到OCR识别全程自动化 ## 🚀 快速开始 ### 1. 安装依赖 ```bash # 系统依赖(Ubuntu/Debian) sudo apt-get update sudo apt-get install libxtst-dev libpng++-dev sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim # Go依赖 go mod tidy ``` ### 2. 运行程序 ```bash go run main.go ``` 程序将自动完成: 1. 读取配置文件 2. 截取指定屏幕区域 3. 保存截图文件 4. 执行OCR文字识别 5. 保存识别结果 ## ⚙️ 配置文件详解 `config.json` 是唯一的配置文件: ```json { "screenshot": { "x": 100, // 截图区域左上角X坐标 "y": 100, // 截图区域左上角Y坐标 "width": 800, // 截图宽度 "height": 600 // 截图高度 }, "ocr": { "languages": ["chi_sim", "eng"], // 支持的语言 "output_dir": "./picture" // 文件输出目录 } } ``` ### 配置项说明 | 配置项 | 说明 | 默认值 | |--------|------|--------| | `screenshot.x` | 截图区域左上角X坐标 | 100 | | `screenshot.y` | 截图区域左上角Y坐标 | 100 | | `screenshot.width` | 截图区域宽度 | 800 | | `screenshot.height` | 截图区域高度 | 600 | | `ocr.languages` | OCR识别语言列表 | ["chi_sim", "eng"] | | `ocr.output_dir` | 文件保存目录 | "./picture" | ## 📁 输出文件 每次运行会在指定目录生成两个文件: ``` picture/ ├── screenshot_20260220_204246.png # 屏幕截图 └── result_20260220_204246.txt # OCR识别结果 ``` 文件名格式:`功能名_年月日_时分秒.扩展名` ## 🛠️ 项目结构 ``` screenshot-ocr/ ├── main.go # 主程序文件 (5.5KB) ├── config.json # 配置文件 ├── go.mod # Go模块定义 ├── go.sum # 依赖校验 ├── picture/ # 输出文件目录 ├── README.md # 本文档 └── test.sh # 测试脚本 ``` ## 🎛️ 高级配置 ### 自定义截图区域 ```json { "screenshot": { "x": 200, "y": 150, "width": 1024, "height": 768 } } ``` ### 多语言支持 ```json { "ocr": { "languages": ["chi_sim", "eng", "jpn", "kor"] } } ``` ### 自定义输出路径 ```json { "ocr": { "output_dir": "/home/user/ocr_results" } } ``` ## ⚠️ 注意事项 1. **环境要求**:需要图形界面环境和Tesseract OCR引擎 2. **权限设置**:确保程序有写入输出目录的权限 3. **区域选择**:截图区域应包含清晰的文字内容以获得最佳识别效果 4. **语言包**:使用非默认语言时需预先安装对应的Tesseract语言包 ## 🐛 常见问题 ### Q: 如何确定最佳的截图区域? A: 建议先使用截图工具测试不同区域,选择文字最清晰的区域 ### Q: OCR识别准确率低怎么办? A: - 确保截图区域文字清晰、对比度高 - 调整截图区域大小,避免包含过多干扰元素 - 检查是否需要安装额外的语言包 ### Q: 程序运行时报错找不到依赖? A: 确认已安装所有必需的系统依赖: ```bash # Ubuntu/Debian sudo apt-get install libxtst-dev libpng++-dev tesseract-ocr ``` ### Q: 如何批量处理多个区域? A: 可以创建多个配置文件,通过脚本循环调用: ```bash for config in config*.json; do cp $config config.json go run main.go done ``` ## 📊 性能优化建议 1. **区域优化**:尽量精确设置截图区域,减少处理时间 2. **语言选择**:只保留实际需要的语言,提高识别速度 3. **定时任务**:可配合cron等工具实现定时自动执行 ## 🤝 技术栈 - **语言**:Go 1.16+ - **主要依赖**: - `github.com/go-vgo/robotgo` - 屏幕截图 - `github.com/otiai10/gosseract/v2` - OCR识别 - **OCR引擎**:Tesseract 4.0+ ## 📝 版本历史 - **v2.0** (当前):精简版,专注自动截图OCR功能 - **v1.0**:完整版,包含多种交互模式 --- *专为自动化场景设计的轻量级OCR工具*