如何避免此Python代码中出现错误?

2024-09-24 02:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力解决这个问题。我是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)

错误:

enter image description here


Tags: fromimportnumpyptimgbasepngas
1条回答
网友
1楼 · 发布于 2024-09-24 02:18:42

图像poplovok.png有两个以上的维度。要仅关注宽度和高度,而忽略其他,请使用:

w, h, *_ = poplovok.shape[::-1]

_表示您不关心变量,并且*将所有剩余维度都转换为_

相关问题 更多 >