ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Поиск изображения на экране pyautogui (https://forum.antichat.xyz/showthread.php?t=1496971)

Shelok_Kholmes 09.12.2023 04:53

Ща сдохну, сижу туплю как нубло, у меня есть картинка, например возьмём калькулятор, там есть цифры, к примеру возьмём это:





https://forum.antichat.xyz/attachmen...aff07af66c.png
, мне нужно сделать, чтоб когда эта картинка находится на экране в определённой области, с помощью модуля keyboard нажималась цифра, к примеру 8, НО, если в области поиска будет кнопка, не 8, а НАПРИМЕР
https://forum.antichat.xyz/attachmen...8421fde6df.png
, то уже с помощью keyboardнажалась другая кнопка, например "Б".

Dickson 26.12.2023 19:50

это ?

test.py:





Код:

import
cv2
import
pyautogui
import
numpy
as
np
import
time
# Загрузка изображений
img_vosem
=
cv2
.
imread
(
'vosem.png'
,
0
)
img_dva
=
cv2
.
imread
(
'dva.png'
,
0
)
def
locate_image
(
template
,
threshold
=
0.8
)
:
screenshot
=
pyautogui
.
screenshot
(
)
screenshot
=
np
.
array
(
screenshot
)
screenshot
=
cv2
.
cvtColor
(
screenshot
,
cv2
.
COLOR_RGB2BGR
)
screenshot_gray
=
cv2
.
cvtColor
(
screenshot
,
cv2
.
COLOR_BGR2GRAY
)
result
=
cv2
.
matchTemplate
(
screenshot_gray
,
template
,
cv2
.
TM_CCOEFF_NORMED
)
min_val
,
max_val
,
min_loc
,
max_loc
=
cv2
.
minMaxLoc
(
result
)
if
max_val
>=
threshold
:
return
(
max_loc
[
0
]
,
max_loc
[
1
]
)
else
:
return
None
while
True
:
vosem_loc
=
locate_image
(
img_vosem
)
if
vosem_loc
:
print
(
"Нашел 8. Корды:"
,
vosem_loc
)
time
.
sleep
(
1
)
pyautogui
.
press
(
'8'
)
dva_loc
=
locate_image
(
img_dva
)
if
dva_loc
:
print
(
"Нашел 2. Корды:"
,
dva_loc
)
time
.
sleep
(
1
)
pyautogui
.
press
(
'2'
)


Dickson 30.12.2023 20:28

так то, или все-таки я тебя неправильно понял ?

Shelok_Kholmes 30.12.2023 21:08

Цитата:

Сообщение от teensik

так то, или все-таки я тебя неправильно понял ?

Та я сам уже разобрался, но спсик.)

Цитата:

Сообщение от teensik

так то, или все-таки я тебя неправильно понял ?

Сделал по другому.

Anarch 30.12.2023 21:33

Цитата:

Сообщение от teensik

это ?

test.py:





Код:

import
cv2
import
pyautogui
import
numpy
as
np
import
time
# Загрузка изображений
img_vosem
=
cv2
.
imread
(
'vosem.png'
,
0
)
img_dva
=
cv2
.
imread
(
'dva.png'
,
0
)
def
locate_image
(
template
,
threshold
=
0.8
)
:
screenshot
=
pyautogui
.
screenshot
(
)
screenshot
=
np
.
array
(
screenshot
)
screenshot
=
cv2
.
cvtColor
(
screenshot
,
cv2
.
COLOR_RGB2BGR
)
screenshot_gray
=
cv2
.
cvtColor
(
screenshot
,
cv2
.
COLOR_BGR2GRAY
)
result
=
cv2
.
matchTemplate
(
screenshot_gray
,
template
,
cv2
.
TM_CCOEFF_NORMED
)
min_val
,
max_val
,
min_loc
,
max_loc
=
cv2
.
minMaxLoc
(
result
)
if
max_val
>=
threshold
:
return
(
max_loc
[
0
]
,
max_loc
[
1
]
)
else
:
return
None
while
True
:
vosem_loc
=
locate_image
(
img_vosem
)
if
vosem_loc
:
print
(
"Нашел 8. Корды:"
,
vosem_loc
)
time
.
sleep
(
1
)
pyautogui
.
press
(
'8'
)
dva_loc
=
locate_image
(
img_dva
)
if
dva_loc
:
print
(
"Нашел 2. Корды:"
,
dva_loc
)
time
.
sleep
(
1
)
pyautogui
.
press
(
'2'
)



А че там в pygui

- скриншотишь изображение

- вставляешь ссылку

пример:
https://forum.antichat.xyz/attachmen...1ac1bbb7f3.png

Dickson 31.12.2023 07:44

Цитата:

Сообщение от Anarch

А че там в pygui
- скриншотишь изображение
- вставляешь ссылку
пример:

какая ссылка

Anarch 31.12.2023 20:03

Цитата:

Сообщение от teensik

какая ссылка

https://forum.antichat.xyz/attachmen...e1194ba41e.png

Shelok_Kholmes 31.12.2023 23:08

Цитата:

Сообщение от Anarch

А че там в pygui
- скриншотишь изображение
- вставляешь ссылку
пример:

Дополню, что нужно использовать try except, чтоб ошибку не выдавало.

Dickson 01.01.2024 23:31

Цитата:

Сообщение от Anarch

я тебя не понял честно говоря

swap commends 02.01.2024 16:33

Цитата:

Сообщение от teensik

я тебя не понял честно говоря

а как реализовать что бы после нажатия на кнопку, отправлялось сообщение в тг?


Время: 09:23