模版匹配是一个老生常谈的问题了,这个算法的具体内容可以参考其他的博客,要理解基本没什么问题,所有我们在这就只是一个Opencv的调包侠。
思考
为了能良好的将模版匹配用于我们的小项目,因此需要思考下面两点:
- 我们使用模版匹配,最主要的目的是,想让它来帮助我们确定我们该模拟点击什么位置,因此,我们需要让模版匹配返回一个坐标。
- 模版匹配,顾名思义,就是让一个模版,去匹配一张大图,并确定该模版在大图中的位置,但是我们的微信窗口的位置是动态的,那我们需要将整个电脑桌面处于静止状态,才能通过模版匹配来达到我们的目的。
截取屏幕
为了让电脑的桌面处于静止状态,我们使用PIL的屏幕截取模块来对屏幕进行截取,并生成一张图像,用于接下来的模版匹配。
import numpy as np
from PIL import ImageGrab
print('开始截屏。。。')
# 截取屏幕
img = ImageGrab.grab()
# 将pil图像转为array
img = np.array(img.getdata(), np.uint8).reshape(img.size[1