найдите и щелкните часть изображения внутри другого изображения

У меня есть изображение1, которое я нахожу с помощью pyautogui, центрирую и щелкаю. Все хорошо.

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

Я обнаружил модуль CV2, и мне удалось сопоставить шаблон с изображением, но я не смог получить координаты ШАБЛОНА, как только ПОЛУЧИЛ первое изображение.

так что в основном у меня есть изображение1, которое я нахожу, и есть часть изображения2, называемая шаблоном, которую мне нужно найти.

Мне нужно это сделать, потому что первое изображение может изменить положение на экране. Как мне получить x, y для центрирования изображения шаблона?

pyautogui.position ( x, y , 1 )

это скрипт, который работает с сопоставлением изображения с шаблоном

код

import cv2
import numpy as np
import os
import pyautogui as p

img_rgb = cv2.imread('big.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('portion.png',0)
w, h = template.shape[::-1]
##print (w,h)
res = cv2.matchTemplate(img_gray,template,cv2.TM_SQDIFF)
threshold = 0.8
loc = np.where( res >= threshold)
for pt in zip(*loc[::-1]):
    cv2.rectangle(img_gray, pt, (pt[0] + w, pt[1] + h), (0,255,255), 2)
##cv2.imshow('Detected',template)
#( of course before this I will center the x and y with locate / center somehow )
p.moveTo (x of portion , y of portion ,1) #( of course before this I will center the x and y with locate / center somehow )

person MarcusAngiolin    schedule 27.01.2021    source источник


Ответы (1)


Ok. Я это сделал. Я просто нахожу первое изображение. Затем я нахожу второй, указав координаты первого изображения в качестве региона для проверки. Это было просто. Извините, ребята, беспокою вас.

person MarcusAngiolin    schedule 28.01.2021