我正在努力解决这个问题。我是Python新手
代码:
import numpy as np
import cv2
from mss.linux import MSS as mss
from PIL import Image
import time
import pyautogui as pg
import imutils
import mss
import numpy
import pyautogui
avarage = [0, ]
poplovok = cv2.imread('poplovok.png')
w, h = poplovok.shape[::-1]
base_screen = ImageGrab.grab(bbox=(0, 0, 1152, 880))
base_screen.save('/Users/vk/PycharmProject/bototest/base_screen.png')
img_rgb = cv2.imread('base_screen.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2BGRA)
res = cv2.matchTemplate(img_gray, poplovok, cv2.TM_CCOEFF_NORMED)
loc = np.where(res >= 0.7)
for i in range(40):
try:
clean_screen = ImageGrab.grab(bbox=(x, y, x + w, y + h))
mean = np.mean(clean_screen)
dif = avarage[-1] - mean
print(avarage[-1] - mean)
except:
for pt in zip(*loc[::-1]):
x = int(pt[0])
y = int(pt[1])
time.sleep(0.2)
错误:
图像
poplovok.png
有两个以上的维度。要仅关注宽度和高度,而忽略其他,请使用:_
表示您不关心变量,并且*
将所有剩余维度都转换为_
相关问题 更多 >
编程相关推荐