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

 更新时间:2025年04月17日 09:28:57   作者:小龙在山东  
PyScreeze 是一个开源的 Python 屏幕截图模块,适用于 Python 2 和 Python 3,该项目由开源技术专家 Al Sweigart 创建,旨在提供一个简单而强大的工具,用于屏幕截图以及图像识别功能,本文就给大家介绍了基于PyScreeze实现截屏和定位功能,需要的朋友可以参考下

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

安装PyScreeze

pip install PyScreeze

截取全屏

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。

屏幕图片居中定位

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

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

多个屏幕图片定位

import pyscreeze

for pos in pyscreeze.locateAllOnScreen('calc7key.png', 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", "screenshot.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截屏和定位内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python连接mssql数据库编码问题解决方法

    Python连接mssql数据库编码问题解决方法

    这篇文章主要介绍了Python连接mssql数据库编码问题解决方法,本文方法同样适用mysql、sqllite、mongodb等数据库,需要的朋友可以参考下
    2015-01-01
  • 从列表到生成器详解Python可迭代对象的完全指南

    从列表到生成器详解Python可迭代对象的完全指南

    可迭代对象是 Python 中非常重要的概念,列表、元组、字符串、字典、集合等都是可迭代对象,本文详细介绍了可迭代对象和迭代器的区别,以及如何创建它们,希望对大家有所帮助
    2026-04-04
  • Python pip配置国内源的方法

    Python pip配置国内源的方法

    这篇文章主要介绍了Python pip配置国内源的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python使用in操作符时元组和数组的区别分析

    python使用in操作符时元组和数组的区别分析

    有时候要判断一个数是否在一个序列里面,这时就会用到in运算符来判断成员资格,如果条件为真时,就会返回true,条件为假时,返回一个flase。这样的运算符叫做布尔运算符,其真值叫做布尔值。
    2015-05-05
  • 如何基于python实现年会抽奖工具

    如何基于python实现年会抽奖工具

    这篇文章主要介绍了如何基于python实现年会抽奖工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python实现导出数据生成excel报表的方法示例

    Python实现导出数据生成excel报表的方法示例

    这篇文章主要介绍了Python实现导出数据生成excel报表的方法,结合完整实例形式分析了Python连接、查询mysql数据库并导出Excel报表的相关实现技巧,需要的朋友可以参考下
    2017-07-07
  • 一文教你解决Python不支持中文路径的问题

    一文教你解决Python不支持中文路径的问题

    Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的解决方法吧
    2025-03-03
  • Python对象的属性访问过程详解

    Python对象的属性访问过程详解

    这篇文章主要介绍了Python对象的属性访问过程详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • PyQt5每天必学之进度条效果

    PyQt5每天必学之进度条效果

    这篇文章主要为大家详细介绍了PyQt5实现进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python数据清洗的四大核心操作(去重/标准化/归一化/编码)实战指南

    Python数据清洗的四大核心操作(去重/标准化/归一化/编码)实战指南

    数据清洗就像盖房子前的地基整理,若原始数据充满重复,格式混乱,后续建模分析只会是空中楼阁,本文将从工程师视角,拆解四大核心操作的底层逻辑,结合真实业务案例,带你吃透数据清洗的底层逻辑
    2025-12-12

最新评论