Ошибка типа: только массивы размера 1 могут быть преобразованы в Python скаляры (cv2, сопоставление с шаблоном) - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь использовать cv2 для сопоставления шаблонов при записи экрана, но сталкиваюсь с ошибкой, которая говорит мне:

TypeError: only size-1 arrays can be converted to Python scalars

Исходный код:

import numpy as np
from PIL import ImageGrab
import cv2
import time
import pandas

def screen_record(): 
    last_time = time.time()
    template = cv2.imread('C:\\Users\\Bran\\Pictures\\ovw_focus_point.jpg',-1)
    while(True):
        printscreen =  np.array(ImageGrab.grab(bbox=(0,0,1920,1080)))
        print((time.time()-last_time))
        last_time = time.time()
        img = cv2.imread('window',cv2.cvtColor(printscreen, cv2.COLOR_BGR2GRAY))

        res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF)
        print(res)

        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            break

if __name__ == "__main__":
    screen_record()

Надеюсь, кто-то может помочь!

...