首页 > 解决方案 > 使用 PIL 的 ImageGrab 时,openCV matchTemplate 似乎不起作用

问题描述

获取屏幕截图。

    hwnd = win32gui.FindWindow(None,found)
    win32gui.SetForegroundWindow(hwnd)
    dimensions = win32gui.GetWindowRect(hwnd)
    image = ImageGrab.grab(dimensions)

将其转换为 numpy 数组以及灰度和无符号 8 位/像素:

    image=image.convert('RGB')
    image = numpy.array(image)
    cv_img = image.astype(np.uint8)
    cv_gray = cv2.cvtColor(cv_img, cv2.COLOR_RGB2GRAY)

但是我不断收到此错误: (-215) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function cv::matchTemplate - 当我将其传递给 matchTemplate 函数:

  result = cv2.matchTemplate(table_img,cv_img, cv2.TM_CCOEFF_NORMED)

标签: python-3.xnumpyopencvcomputer-visionpython-3.7

解决方案


推荐阅读