# screen-reader **Repository Path**: tpig/screen-reader ## Basic Information - **Project Name**: screen-reader - **Description**: 尝试使用 opencode 开发的屏幕截屏并 ocr 识别 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-07 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Screen Reader 屏幕阅读工具 - 捕获屏幕内容并进行 OCR 文字识别。 ## 功能特性 - 系统托盘常驻(任务栏右侧) - 全局热键:Ctrl+Shift+P(默认,可在 .env 中配置) - 点击托盘图标或按 Ctrl+Shift+P 进入截图模式 - 拖拽选择区域进行 OCR 识别 - 主窗口显示截图和 OCR 结果 - 一键复制结果到剪贴板 ## 技术栈 - Python 3.10+ - PyQt5 - GUI 框架,支持系统托盘 - mss - 屏幕捕获 - keyboard - 全局热键监听 - RapidOCR (rapidocr-onnxruntime) - OCR 引擎(无需 Tesseract) - Pillow - 图像处理 ## 项目结构 ``` screen_read/ ├── app/ │ ├── __init__.py │ ├── main.py # 应用程序入口 │ ├── config.py # 配置管理 (pydantic-settings) │ ├── tray.py # 系统托盘管理 │ ├── screenshot/ │ │ ├── capture.py # 屏幕捕获 (mss) │ │ └── overlay.py # 区域选择覆盖层 │ ├── ocr/ │ │ └── engine.py # RapidOCR 封装 │ └── ui/ │ └── main_window.py # 主 GUI 窗口 ├── assets/ # 图标等资源 ├── overlay_select.py # 截图选择独立模块 ├── requirements.txt # 依赖列表 ├── run.py # 启动入口 ├── screen_read.spec # PyInstaller 打包配置 └── .env # 配置文件(不提交) ``` ## 快速开始 ### 安装依赖 ```bash # 创建虚拟环境 python -m venv .venv # 激活虚拟环境(Windows) .venv\Scripts\activate # 安装依赖 pip install -r requirements.txt ``` ### 运行 ```bash python run.py ``` 程序启动后会在系统托盘显示图标,按 F1 或点击托盘图标开始截图识别。 ## 配置 (.env) 在项目根目录创建 `.env` 文件: | 变量 | 默认值 | 说明 | |------|--------|------| | hotkey | Ctrl+Shift+P | 全局热键(触发截图) | | language | ch_sim | OCR 语言(ch_sim, en, ja 等) | | auto_copy | true | 自动复制 OCR 结果到剪贴板 | | save_screenshot | false | 是否保存截图到文件 | | save_path | "" | 截图保存路径 | 示例: ```env hotkey=Ctrl+Shift+P language=ch_sim auto_copy=true save_screenshot=false save_path= ``` ## 打包为可执行程序 ### 环境准备 ```bash # 创建虚拟环境 python -m venv .venv # 安装依赖(包含 PyInstaller) pip install -r requirements.txt ``` ### 执行打包 使用项目根目录的 `screen_read.spec` 配置文件进行打包: ```bash # 使用虚拟环境中的 PyInstaller .venv\Scripts\python.exe -m PyInstaller screen_read.spec ``` 打包完成后,可执行文件位于 `dist\screen_read.exe`(约 120MB)。 ### 分发说明 - 将 `dist\screen_read.exe` 复制到目标机器即可运行 - 可选:在同一目录创建 `.env` 文件进行配置 - 无需安装 Python 或任何依赖 ## 使用说明 1. 运行 `python run.py` 或 `screen_read.exe` - 程序启动并驻留系统托盘 2. 按 Ctrl+Shift+P 或点击托盘图标 - 进入截图模式 3. 拖拽选择区域 - 捕获选定区域 4. 主窗口显示截图和 OCR 结果 5. 点击"识别文字"按钮执行 OCR 6. 点击"复制到剪贴板"复制结果 ## 注意事项 - Windows 开发环境 - 需要屏幕捕获权限 - 全局热键功能需要管理员权限(部分系统) - 首次运行 OCR 时会加载模型,可能需要几秒钟 ## 许可 MIT License