Skill: a770438678/windows-screenshot-ocr (version 1.0.0)

--- name: windows-screenshot-ocr description: Windows全屏截图（自动标记鼠标位置）+ 原生OCR文字识别。完全本地运行，无需联网，无需API Key。适用于需要截图分析屏幕内容、自动化OCR识别的场景。 --- # Windows Screenshot + OCR Skill 本技能提供两个核心功能： 1. **全屏截图**：截取当前屏幕并在截图上标记鼠标位置（红色准星） 2. **OCR文字识别**：使用 Windows 系统内置 OCR 引擎识别图片中的文字 ## 环境要求 - Windows 10 / 11（64位） - Python 3.8+ - 已安装中文/英文 OCR 语言包（系统设置 → 语言） ## 安装依赖 ```bash pip install mss pyautogui Pillow pip install winrt ``` ## 使用方法 ### 截图 ```bash python screenshot.py ``` 截图保存在 `E:\桌面\auto_screenshot\`，文件名带时间戳。 ### OCR识别 ```bash python windows_ocr.py ``` 修改脚本中的 `image_path` 为目标图片路径，识别结果保存到 `ocr_result.txt`。 ## 文件说明 - `screenshot.py` — 截图脚本，带鼠标位置标记 - `windows_ocr.py` — OCR识别脚本，使用Windows原生引擎 - `README.md` — 详细说明文档 ## 注意事项 - 截图路径默认为 `E:\桌面\auto_screenshot\`，可在脚本中修改 `save_folder` - OCR 依赖 Windows 系统语言包，如识别失败请在系统设置中添加对应语言 - 完全本地运行，不联网，不上传任何数据 ## 作者 QClaw AI Assistant（由用户对话生成，2026-03-26）

path: README.md
content: # windows-screenshot-ocr

> Windows 全屏截图 + 鼠标标记 + 原生 OCR 文字识别工具
> 作者：QClaw AI Assistant（由用户对话生成）

## 功能介绍

### 1. screenshot.py — 截图并标记鼠标位置
- 截取当前全屏
- 自动在截图上标记鼠标所在位置（红色准星）
- 文件名带时间戳，不会覆盖历史截图
- 保存到指定文件夹

### 2. windows_ocr.py — 图片文字识别（OCR）
- 使用 Windows 系统内置 OCR 引擎（无需联网、无需API）
- 支持中英文识别
- 识别结果保存为 txt 文件

---

## 环境要求

- Windows 10 / 11（64位）
- Python 3.8+
- Windows 已安装中文/英文 OCR 语言包（系统设置 → 语言）

---

## 安装依赖

```bash
pip install mss pyautogui Pillow
pip install winrt
```

---

## 使用方法

### 截图
```bash
python screenshot.py
```
截图保存在 `E:\桌面\auto_screenshot\` 目录，文件名格式：`screen_20260326_113827.png`

### OCR识别
```bash
python windows_ocr.py
```
修改脚本中的 `image_path` 为你要识别的图片路径，识别结果保存到 `ocr_result.txt`

---

## 文件结构

```
windows-screenshot-ocr/
├── screenshot.py       # 截图脚本
├── windows_ocr.py      # OCR识别脚本
├── README.md           # 说明文档
```

---

## 注意事项

1. 截图保存路径默认为 `E:\桌面\auto_screenshot\`，可在脚本中修改 `save_folder`
2. OCR 依赖 Windows 系统语言包，如识别失败请在"系统设置 → 时间和语言 → 语言"中添加对应语言
3. 本工具完全本地运行，不联网，不上传任何数据

---

## License

MIT — 自由使用、修改、分发


path: screenshot.py
content: # ============================================
# 脚本名称：screenshot.py
# 功能：截取全屏并标记当前鼠标位置（红色准星）
# 作者：QClaw AI Assistant（由用户对话生成）
# 生成日期：2026-03-26
# 依赖：mss, pyautogui, Pillow
# 用法：python screenshot.py
# ============================================

import mss
import os
from datetime import datetime
import pyautogui
from PIL import Image, ImageDraw

# 固定保存到 E:\桌面\auto_screenshot\
save_folder = r"E:\桌面\auto_screenshot"
os.makedirs(save_folder, exist_ok=True)

# 获取当前鼠标位置
mouse_x, mouse_y = pyautogui.position()

# 生成带时间戳的文件名
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"screen_{timestamp}.png"
filepath = os.path.join(save_folder, filename)

# 截图
with mss.mss() as sct:
    sct.shot(output=filepath)

# 打开截图并标记鼠标位置
img = Image.open(filepath)
draw = ImageDraw.Draw(img)

# 绘制准星（红色圆点 + 白色边框）
radius = 8
draw.ellipse([mouse_x - radius - 2, mouse_y - radius - 2, mouse_x + radius + 2, mouse_y + radius + 2], fill='white')
draw.ellipse([mouse_x - radius, mouse_y - radius, mouse_x + radius, mouse_y + radius], fill='red')
draw.line([mouse_x - 15, mouse_y, mouse_x + 15, mouse_y], fill='red', width=2)
draw.line([mouse_x, mouse_y - 15, mouse_x, mouse_y + 15], fill='red', width=2)

# 保存标记后的截图
img.save(filepath)

print(f"截图已保存：{filepath}")
print(f"鼠标位置：({mouse_x}, {mouse_y})")


path: windows_ocr.py
content: # ============================================
# 脚本名称：windows_ocr.py
# 功能：使用 Windows 原生 OCR 识别图片中的文字
# 作者：QClaw AI Assistant（由用户对话生成）
# 生成日期：2026-03-26
# 依赖：Pillow, winrt（pip install winrt）
# 用法：python windows_ocr.py
# ============================================

from PIL import Image
import winrt.windows.media.ocr as ocr
import winrt.windows.graphics.imaging as imaging
import winrt.windows.storage.streams as streams
import asyncio
from io import BytesIO
import sys

async def recognize(image_path):
    # 加载图片
    img = Image.open(image_path)
    
    # 创建 OCR 引擎
    engine = ocr.OcrEngine.try_create_from_user_profile_languages()
    if engine is None:
        return "错误：未找到 OCR 语言包，请先安装语言包"
    
    # 转换图片为流
    buf = BytesIO()
    img.save(buf, format='PNG')
    buf.seek(0)
    
    # 写入内存流
    stream = streams.InMemoryRandomAccessStream()
    writer = streams.DataWriter(stream)
    writer.write_bytes(buf.read())
    await writer.store_async()
    stream.seek(0)
    
    # 创建位图解码器
    decoder = await imaging.BitmapDecoder.create_async(stream)
    bitmap = await decoder.get_software_bitmap_async()
    
    # 执行 OCR
    result = await engine.recognize_async(bitmap)
    return result.text

if __name__ == "__main__":
    image_path = r"E:\桌面\auto_screenshot\screen_20260326_091124.png"
    text = asyncio.run(recognize(image_path))
    with open(r"E:\桌面\auto_screenshot\ocr_result.txt", "w", encoding="utf-8") as f:
        f.write(text)
    print("识别结果已保存到 ocr_result.txt")


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)