一个基于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虚拟环境管理
- 克隆项目
git clone <repository-url>
cd live_trans- 创建虚拟环境
uv venv
source .venv/bin/activate # macOS/Linux
# 或
.venv\Scripts\activate # Windows- 安装依赖
uv pip install -r requirements.txtpython main.py选择运行模式:
- 屏幕截取模式: 实时截取屏幕内容进行OCR识别和翻译
- 单次测试模式: 使用示例图像进行测试
python simple_clicker.py- 启动程序: 运行
python main.py - 选择模式: 选择"屏幕截取模式"
- 选择区域: 拖拽红色边框选择要截取的区域
- 调整大小: 使用缩放手柄调整边框大小
- 开始处理: 点击"开始截取"按钮
- 查看结果: 程序会自动进行OCR识别和翻译
- 启动程序: 运行
python simple_clicker.py - 设置参数:
- 点击次数(默认100次)
- 时间间隔范围(如0.5-2.0秒)
- 位置波动范围(如±5像素)
- 准备位置: 将鼠标移动到目标位置
- 开始点击: 按回车开始自动点击
- 停止操作: 按Ctrl+C可随时停止
- OCR引擎: 基于RapidOCR的文本识别
- 翻译服务: 支持多种翻译API
- 屏幕截取: 基于pyautogui的屏幕捕获
- 多显示器: 跨平台多显示器支持
- 自动点击: 基于pyautogui的鼠标控制
rapidocr-onnxruntime: OCR文本识别opencv-python: 图像处理Pillow: 图像操作pyautogui: 屏幕截取和鼠标控制transformers: 自然语言处理torch: 深度学习框架
- 红色边框: 可拖拽和缩放的截取区域
- 缩放手柄: 8个方向的尺寸调整手柄
- 控制面板: 截取间隔设置和操作按钮
- 显示器切换: Tab键切换多显示器
Tab: 切换显示器Enter: 退出程序ESC: 退出程序
- 权限要求: 自动点击器可能需要授予鼠标控制权限
- 系统兼容: 支持Windows、macOS、Linux
- 显示器: 支持多显示器和高DPI显示器
- 性能: 建议截取间隔不要设置过短
# 测试OCR和翻译功能
python main.py
# 选择"单次测试模式"
# 测试自动点击器
python simple_clicker.pypython -c "import cv2, rapidocr_onnxruntime, pyautogui; print('所有依赖导入成功')"-
OCR识别失败
- 检查图像质量和清晰度
- 确认文字区域选择正确
-
翻译服务错误
- 检查网络连接
- 确认API密钥配置
-
屏幕截取问题
- 检查显示器设置
- 确认权限设置
-
自动点击不生效
- 检查鼠标控制权限
- 确认目标位置正确
本项目采用开源许可证,具体请查看LICENSE文件。
欢迎提交Issue和Pull Request来改进项目!
如有问题或建议,请通过以下方式联系:
- 提交GitHub Issue
- 发送邮件至项目维护者
注意: 请合理使用自动点击功能,避免对系统造成影响。