鼠标划定区域的屏幕翻译 python3

本文介绍了一个使用Python3编写的屏幕划定区域翻译工具,借助easyOCR和有道翻译API,实现快速翻译生肉内容。通过PySimpleGUIQt、pynput、PIL等库实现交互和图像处理,翻译质量依赖于OCR识别和网络速度。在运行前需下载easyOCR模型,如有需求,还需安装CUDA以加速GPU识别。
摘要由CSDN通过智能技术生成

没事去看漫画,但是有很多生肉不好啃,也不好一个字一个字打上去翻译,所以写个划屏翻译,在任意位置按下快捷键后鼠标划定矩形区域识别翻译

基于easyOCR与有道翻译接口(参考大佬写的Python 3 最新有道翻译爬取,破解反爬机制,解决{“errorCode”:50}错误

效果大概如下(识别率和速度取决于OCR速度与翻译接口网速)
在这里插入图片描述

主要使用的库:
PySimpleGUIQt
pynput
PIL
easyocr
numpy

使用前需要下载easyOCR的模型,如果要GPU识别加速的话还要下载CUDA

代码能力不行,望大佬们 海涵,不吝赐教

代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @FileName: main.py

import PySimpleGUIQt as sg 
import pynput
from PIL import ImageGrab
import easyocr
import numpy as np
import json
import youdao


key_start = "f10"
key_end = "f9"
#languages = ['en', 'ch_sim']
languages = ['en']
language_src = 'en'
language_dest = 'zh-CHS'
GPU_CUDA_ONOROFF = True
#使用GPU加速会快上很多倍(据说),需要下载CUDA
MODULE_PATH = r'.\module'
#模型地址,因为我不喜欢它默认的都塞c盘的路径
D = "Y2FYu%TNSbMCxc3t2u^XT"
#有道翻译生成salt的密钥,这个会变动,所以提出来方便改


def listen_keyboark(key_start, key_end):
  #在后台监听快捷键
  #用这个函数进行阻塞,直到得到shortcut_key_start,挺怪的思路hh
  with pynput.keyboard.Events() as event:
    for i in event:
      if isinstance(i, pynput.keyboard.Events.Press): 
        try:   
            if i.key.name == key_start:
              return True
            elif i.key.name == key_end:
              return False
        except AttributeError:
            #说明这个是普通按键。
            if i.key.char == key_start:
              return True
            elif i.key.char == key_end:
              return False
  return False


def get_xy():
  #监听鼠标按下松开的位置坐标
  x1, y1, x2, y2 = 0,0,0,0
  with pynput.mouse.Events() as event:
    for i in event:
      if 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值