Skip to content

一个基于Python的实时OCR文本识别和多语言翻译工具,支持屏幕截取、文本识别、自动翻译等功能。

Notifications You must be signed in to change notification settings

luckscx/live_trans

Repository files navigation

Live Translation - OCR文本识别和翻译程序

一个基于Python的实时OCR文本识别和多语言翻译工具,支持屏幕截取、文本识别、自动翻译等功能。

🚀 功能特性

核心功能

  • OCR文本识别: 基于RapidOCR的高精度文字识别
  • 多语言翻译: 支持多种语言之间的互译
  • 屏幕截取: 可拖拽选择的屏幕区域截取
  • 实时处理: 截取后立即进行OCR识别和翻译
  • 多显示器支持: 支持多显示器环境

新增功能

  • 自动点击器: 简单的命令行自动点击工具 (simple_clicker.py)
    • 在鼠标当前位置附近连续点击
    • 支持随机间隔和位置波动
    • 无UI界面,纯命令行操作

📁 项目结构

live_trans/
├── main.py                 # 主程序入口
├── ocr_engine.py          # OCR文本识别引擎
├── translator.py           # 翻译服务模块
├── ui_display.py          # 用户界面显示模块
├── screen_capture.py      # 屏幕截取模块
├── simple_clicker.py      # 简单自动点击器
├── pyproject.toml         # 项目配置文件
├── requirements.txt       # Python依赖包
└── .python-version       # Python版本要求

🛠️ 安装和运行

环境要求

  • Python 3.7+
  • 推荐使用 uv 虚拟环境管理

安装步骤

  1. 克隆项目
git clone <repository-url>
cd live_trans
  1. 创建虚拟环境
uv venv
source .venv/bin/activate  # macOS/Linux
#
.venv\Scripts\activate     # Windows
  1. 安装依赖
uv pip install -r requirements.txt

运行程序

主程序(OCR翻译)

python main.py

选择运行模式:

  • 屏幕截取模式: 实时截取屏幕内容进行OCR识别和翻译
  • 单次测试模式: 使用示例图像进行测试

自动点击器

python simple_clicker.py

🎯 使用方法

OCR文本识别和翻译

  1. 启动程序: 运行 python main.py
  2. 选择模式: 选择"屏幕截取模式"
  3. 选择区域: 拖拽红色边框选择要截取的区域
  4. 调整大小: 使用缩放手柄调整边框大小
  5. 开始处理: 点击"开始截取"按钮
  6. 查看结果: 程序会自动进行OCR识别和翻译

自动点击器

  1. 启动程序: 运行 python simple_clicker.py
  2. 设置参数:
    • 点击次数(默认100次)
    • 时间间隔范围(如0.5-2.0秒)
    • 位置波动范围(如±5像素)
  3. 准备位置: 将鼠标移动到目标位置
  4. 开始点击: 按回车开始自动点击
  5. 停止操作: 按Ctrl+C可随时停止

🔧 技术架构

核心模块

  • OCR引擎: 基于RapidOCR的文本识别
  • 翻译服务: 支持多种翻译API
  • 屏幕截取: 基于pyautogui的屏幕捕获
  • 多显示器: 跨平台多显示器支持
  • 自动点击: 基于pyautogui的鼠标控制

依赖库

  • rapidocr-onnxruntime: OCR文本识别
  • opencv-python: 图像处理
  • Pillow: 图像操作
  • pyautogui: 屏幕截取和鼠标控制
  • transformers: 自然语言处理
  • torch: 深度学习框架

📱 界面说明

屏幕截取器界面

  • 红色边框: 可拖拽和缩放的截取区域
  • 缩放手柄: 8个方向的尺寸调整手柄
  • 控制面板: 截取间隔设置和操作按钮
  • 显示器切换: Tab键切换多显示器

快捷键

  • Tab: 切换显示器
  • Enter: 退出程序
  • ESC: 退出程序

⚠️ 注意事项

  1. 权限要求: 自动点击器可能需要授予鼠标控制权限
  2. 系统兼容: 支持Windows、macOS、Linux
  3. 显示器: 支持多显示器和高DPI显示器
  4. 性能: 建议截取间隔不要设置过短

🧪 测试

功能测试

# 测试OCR和翻译功能
python main.py
# 选择"单次测试模式"

# 测试自动点击器
python simple_clicker.py

依赖检查

python -c "import cv2, rapidocr_onnxruntime, pyautogui; print('所有依赖导入成功')"

🔍 故障排除

常见问题

  1. OCR识别失败

    • 检查图像质量和清晰度
    • 确认文字区域选择正确
  2. 翻译服务错误

    • 检查网络连接
    • 确认API密钥配置
  3. 屏幕截取问题

    • 检查显示器设置
    • 确认权限设置
  4. 自动点击不生效

    • 检查鼠标控制权限
    • 确认目标位置正确

📄 许可证

本项目采用开源许可证,具体请查看LICENSE文件。

🤝 贡献

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

📞 支持

如有问题或建议,请通过以下方式联系:

  • 提交GitHub Issue
  • 发送邮件至项目维护者

注意: 请合理使用自动点击功能,避免对系统造成影响。

About

一个基于Python的实时OCR文本识别和多语言翻译工具,支持屏幕截取、文本识别、自动翻译等功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages