pyautogui之截图与识别
PyAutoGUI有特定的方法来截取计算机的屏幕,获取屏幕快照。
屏幕快照是RGB模式的图像,RGB模式是图片的色彩模式,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色),自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成。
在Python里面,RGB颜色数值是一个长度为3的元组,如(62, 59, 55),62代表红色的深浅程度,59代表绿色,55代表蓝色,每种颜色的数值范围是0到255。
截图
自动将计算机的当前屏幕进行全屏截图,并保存命名为screenshot.png文件
局部截图可以通过传入参数region来设置截图坐标,坐标以平面坐标表示,分为X坐标,Y坐标。
参数region是一个长度为4的元组,元组每个元素一次代表:x坐标起点,Y坐标起点,X坐标终点,Y坐标终点
图像识别
图像识别是通过图片的分辨率查找该图片在计算机屏幕里所在的坐标位置,图像识别调度员locateOnScreen()函数即可实现
函数参数image是目标图片,用于匹配计算机屏幕,目标图表必须为png格式,否则pyautogui无法识别
获取目标图像的中心坐标位置,可以使用center或locateCenterOnScreen()函数获取
pyautoGUI提供了灰度匹配和像素匹配。
灰度匹配时在locate函数(如locateOnScreen,locateCenterOnScreen或lovateAllOnScreen)设置参数grayscale==True即可,能加快定位速度,但回降低识别的准备率
像素匹配可以使用pixel()或getpixel()函数来获取某个分辨率的RGB颜色数值,再由pixelMatchesColor()函数实现颜色匹配