开发者

基于PyScreeze实现截屏和定位功能

目录
  • 安装PyScreeze
  • 截取全屏
  • 截取指定位置
  • 屏幕图片定位
  • 屏幕图片居中定位
  • 多个屏幕图片定位
  • 图片模板匹配
  • 多个图片模板匹配
  • 获取像素值
  • 像素匹配

PyScreeze 是一个简单的跨平台截图模块,支持 python3。

安装PyScreeze

pip install PyScjavascriptreeze

截取全屏

import pyscreeze

# 截取全屏
im2 = pyscreeze.screenshot()
# 将截图转换为灰度图
gray_im2 = im2.convert('L')
# 保存灰度图
gray_im2.save('screenshot2.png')

截取指定位置

import pyscreeze

# 截图并保存为PNG文件
im1 = pyscreeze.screenshot('screenshot1.png', region=(10, 10, 100, 100))

屏幕图片定位

import pyscreeze, pyautogui

# 获取图片位置信息(左上角和宽高)
button7location = pyscreeze.locateOnScreen('calc7key.png')
print(button7location)

# 获取图片中心点坐标
button7x, button7y = pyscreeze.center(button7location)
print(button7x, button7y)

# 点击鼠标到图片中心点
pyautogui.click(button7x, button7y)

返回(左、上、宽、高)坐标,表示屏幕上找到的第一个图像实例。如果在屏幕上找不到,则返回None。

基于PyScreeze实现截屏和定位功能

屏幕图片居中定位

import pyscreeze, pyautogui
x, y = pyscreeze.locateCenterOnScreen(DnOtbKDbz'calc7key.png')
pyautogui.click(x, y)

返回 (x, y)坐标,表示屏幕上第一个找到的图像实例的中心。如果在屏幕上找不到,则返回None。

多个屏幕图片定位

import pyscreeze

for pos in pyscreeze.locateAllOnScreen('calc7key.androidpng', grayscale=False, confidence=0.8):
    print(pos)

locateAll 会使用cv2,定位更快速。

这里用到了灰度匹配匹配的置信

匹配的置信度,取值范围是 0 到 1。 0.8 表示匹配度达到 80% 及以上就认为找到了匹配项。

图片模板匹配

import pyscreeze

local = pyscreeze.locate("calc7key.png", "screenshot.png", grayscale=False)
print(local)

在screenshot.png找calc7key.png。

多个图片模板匹配

import pyscreeze

for pos in pyscreeze.locateAll("calc7key.png", "sc编程客栈reenshot.png", grayscale=False):
    print(pos)

获取像素值

import pyscreeze

rgb = pyscreeze.pixel(100, 200)
print(rgb)

像素匹配

import pyscreeze

isMatch = pyscreeze.pixelMatchesColor(100, 200, (140, 125, 134), tolerance=10)
print(isMatch)  # True or False

到此这篇关于基于PyScreeze实现截屏和定位功能的文章就介绍到这了,更多相关PyScreeze截屏和定位内容请搜索编程客栈(www.devze.com)以前的文编程客栈章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜