Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击相关的知识,希望对你有一定的参考价值。

要找的图为计算机,也就是icon.png,对应的图标为:

 需要安装的依赖:

pip install cv2
pip install PIL
pip install pyautogui

代码如下:

import cv2
from PIL import ImageGrab
import numpy as np
import pyautogui

if __name__ == '__main__':

    im = ImageGrab.grab()
    im.save('./res/screen.png', 'png')

    img_rgb = cv2.imread('./res/screen.png')

    # 所有操作在灰度版中进行
    img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
    template = cv2.imread('./res/icon.png', 0)

    res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
    threshold = 0.7
    loc = np.where(res >= threshold)

    for pt in zip(*loc[::-1]):
        print(pt[0], pt[1])
        # pyautogui.moveTo(pt[0] + template.shape[0] / 2, pt[1] + template.shape[1] / 2)
        pyautogui.doubleClick(pt[0] + template.shape[0] / 2, pt[1] + template.shape[1] / 2)

        pass


    print('over')
    pass

 

以上是关于Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击的主要内容,如果未能解决你的问题,请参考以下文章