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

问题描述 投票:0回答:1

我正在尝试解决此问题。我是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)

错误:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9DZWNYSS5wbmcifQ==” alt =“在此处输入图像描述”>

python cv2
1个回答
0
投票

图像poplovok.png具有2个以上尺寸。要只关心宽度和高度,而忽略其他宽度和高度,请使用:

w, h, *_ = poplovok.shape[::-1]
© www.soinside.com 2019 - 2024. All rights reserved.