Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2020 06:49:37

F1G1
Зарегистрирован: 2020-10-23
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите ускорить программу

 import time 
import numpy as np 
import pyscreenshot as ImageGrab
import cv2
import os 
import pytesseract  
import pyautogui 
import pyperclip
from mss import mss
from PIL import Image
monitor = {
    "left": 8,
    "top": 31,
    "width": 845,
    "height": 785,
}
# Поиск цвета на экране
def find_color(our_color, monitor={}):
    # Возмём кусок экрана
    m = mss()
    # Получаем пиксель с экрана монитора
    img = m.grab(monitor)
    # Преобразуем этот пиксель в матрицу
    img_arr = np.array(img)
    # Поиск цвета (b, g, r, alpha)
    our_map = (our_color[2], our_color[1], our_color[0], 255)
    indexes = np.where(np.all(img_arr == our_map, axis=-1))
    our_crd = np.transpose(indexes)
    return our_crd
# Искомый цвет
our_color = [3, 121, 229]
while True:
    time1 = time.time()
    result = find_color(our_color, monitor)
    time2 = time.time()
    if result.__len__():
        xin = result[0][1] + monitor.get('left')
        yin = result[0][0] + monitor.get('top')
        print(time2 - time1, [xin, yin])
        break 
    else:
    	pyautogui.leftClick(717, 314)
xina = int(xin) + 275
yina = int(yin) + 58
print(xina, yina)
print(xin, yin)
filename = 'Image.png'
x = 1 
last_time = time.time()
m = ImageGrab.grab(bbox=(xin, yin, xina, yina)) 
m.save('Image.png')
cv2.cvtColor(np.array(m), cv2.COLOR_BGR2GRAY)	
m = cv2.imread('Image.png')
text = pytesseract.image_to_string(m)
print(text)
pyperclip.copy(text)
pyautogui.PAUSE = 0.1
pyperclip.paste()
pyautogui.moveTo(1141,497)
pyautogui.tripleClick()
pyautogui.hotkey('ctrl','v')
pyautogui.hotkey('backspace')
pyautogui.moveTo(1143,596)
pyautogui.leftClick()
pyautogui.moveTo(1682,975)
pyautogui.leftClick()
pyautogui.PAUSE = 0.4
pyautogui.moveTo(1414,706)
pyautogui.leftClick()

Отредактировано F1G1 (Окт. 23, 2020 13:17:06)

Офлайн

#2 Окт. 23, 2020 08:09:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите ускорить программу

Оберните код в теги code python \/code . Чтобы было понятно что вы написали.



Отредактировано doza_and (Окт. 23, 2020 08:10:21)

Офлайн

#3 Окт. 23, 2020 09:59:43

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите ускорить программу

.



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#4 Окт. 23, 2020 17:27:34

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1309
Репутация: +  113  -
Профиль   Отправить e-mail  

Помогите ускорить программу

Что эта программа делает?

Офлайн

#5 Окт. 23, 2020 18:07:07

F1G1
Зарегистрирован: 2020-10-23
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите ускорить программу

xam1816
Что эта программа делает?
Берет изображение с монитора, ищет особый пиксель, выделяет область, где копировать текст, передает в буфер обмена.

Офлайн

#6 Окт. 24, 2020 07:40:42

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите ускорить программу

хз нужно копать по поисковым запросам типа python профилирование … что бы найти медленный участок … скорее всего это pytesseract

зы задача очнь похожа на задачу: “распознование капчи”



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Окт. 24, 2020 08:38:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version