【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色

这篇具有很好参考价值的文章主要介绍了【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

6 屏幕截图与图像定位

pyautogui截图定位,PyAutoGui,python,计算机视觉,开发语言

PyAutoGUI可以拍摄屏幕截图,将其保存到文件中,并在屏幕中定位图像。OSX使用操作系统附带的screencapture命令。Linux使用scrot命令,可以通过运行sudo-apt-get-install-scrot来安装该命令。

功能介绍:一个需要点击的按钮,并且想在屏幕上找到它。文章来源地址https://www.toymoban.com/news/detail-627386.html

6.1 屏幕截图

import pyautogui

# 截取全屏 在1920 x 1080屏幕上,screenshot()函数大约需要100毫秒-不快但不慢。
im1 = pyautogui.screenshot()
# 截取全屏,并以图片保存
im2 = pyautogui.screenshot('my_screenshot.png')

# 截取指定位置,传递要捕获的区域的左侧、顶部、宽度和高度的四个整数元组:
im = pyautogui.screenshot(region=(0,0, 300, 400))

6.2 定位单个目标

import pyautogui

# ---------------------------------------------------------------
# 获取感兴趣区域的 (left, top, width, height)
button7location = pyautogui.locateOnScreen('looksLikeThis.png')
print(button7location)
print(button7location[0])
print(button7location.left)
# 计算感兴趣区域的中心点的xy坐标
button7point = pyautogui.center(button7location)
print(button7point)
print(button7point[0])
print(button7point.x)
# 点击感兴趣区域的中心点坐标
button7x, button7y = button7point
pyautogui.click(button7x, button7y)

# ---------------------------------------------------------------
# 快速点击感兴趣区域
pyautogui.click('looksLikeThis.png')

# ---------------------------------------------------------------
# 设置置信度 需要安装opencv
button7location = pyautogui.locateOnScreen('looksLikeThis.png', confidence=0.9)
print(button7location)
print(button7location[0])
print(button7location.left)

# ---------------------------------------------------------------
# 获取感兴趣区域的中心点位置坐标,并且点击
x, y = pyautogui.locateCenterOnScreen('looksLikeThis.png')
pyautogui.click(x, y)

6.3 定位全部目标的位置

import pyautogui
# 这些“定位”功能相当昂贵;他们可以用整整一秒钟的时间跑。
for pos in pyautogui.locateAllOnScreen('someButton.png') 
	print(pos)
    
# 提高速度的最佳方法:传递一个区域参数(一个4整型元组(左、上、宽、高)),以仅搜索屏幕的较小区域,而不是全屏:
pyautogui.locateOnScreen('someButton.png', region=(0,0, 300, 400))

6.4 灰度匹配

import pyautogui

button7location = pyautogui.locateOnScreen('looksLikeThis.png', grayscale=True)
print(button7location)

6.5 像素匹配(获取屏幕截图中像素的RGB颜色)

import pyautogui
# 获取屏幕截图中像素的RGB颜色方案①
im = pyautogui.screenshot()
color_RGB = im.getpixel((100, 200))
print(color_RGB)	#(130, 135, 144)

# 获取屏幕截图中像素的RGB颜色方案②
pix = pyautogui.pixel(100, 200)
print(pix)	# RGB(red=130, green=135, blue=144)
print(pix[0])	# 130
print(pix.red)	# 130

# 如果只需要验证单个像素是否与给定像素匹配,请调用pixelMatchesColor()函数,将其表示的颜色的X坐标、Y坐标和RGB元组传递给它:
pyautogui.pixelMatchesColor(100, 200, (130, 135, 144)) # True

pyautogui.pixelMatchesColor(100, 200, (0, 0, 0)) # False

# tolerance关键字参数指定红色、绿色和蓝色值在仍匹配时可以变化多少:
pyautogui.pixelMatchesColor(100, 200, (140, 125, 134)) # False
pyautogui.pixelMatchesColor(100, 200, (140, 125, 134), tolerance=10) # True

到了这里,关于【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 端口操作指南

    知行之桥 EDI 系统中的端口是用于创建数据工作流的功能模块。每个端口可执行以下的一个任务: 使用标准网络协议 (AS2,AS4,FTP,SFTP,OFTP 等)与外部目标之间传输文件 与后端系统集成,例如数据库或云端应用程序 使用或公开 RESTful web API 将数据从一种格式转换为另一种格式

    2024年02月16日
    浏览(53)
  • Excel 端口操作指南

    通过将 EDI 报文可视化为 Excel,企业可以更好地了解和处理数据,提高工作效率,减少错误率。在未实现 EDI 系统和内部业务系统集成之前,Excel 方案则是一项可供选择的临时替代方案。 Excel方案的优点在于,无需对业务系统再做开发工作,数据可读性较强。用户只需将交易伙

    2024年02月15日
    浏览(47)
  • git常用操作指南

    先可以使用git tag命令查看下当前有哪些tag,然后在原有tag的基础上增加版本号,并提交tag信息,例如: 即可 如果有个项目是用git的lfs管理的,那么首先需要安装git-lfs 然后执行: 最后,git clone 如何删除本地某个分支: 在删除你想删除的那个分支前,需要先切换到其他分支,

    2024年02月07日
    浏览(54)
  • Git操作指南

    Git是目前最流行的版本控制系统之一,它为开发者提供了便捷的代码管理和协作工具。对于初学者来说,熟悉Git的操作和基本概念是非常重要的。本文将带你从入门到进阶,逐步掌握Git的常用操作和技巧。 1、Git简介: Git是什么?为什么需要使用Git? Git是一个分布式版本控制

    2024年01月19日
    浏览(52)
  • Puppeteer让你网页操作更简单(1)屏幕截图

    网页自动化设计爬虫工具 中就使用了Puppeteer进行对网页自动化处理,今天就来看看它是什么东西! 在本教程中,您将学习如何使用JavaScript自动化和 抓取 web。 为此,我们将使用Puppeteer。 Puppeteer 是一个Node库API,允许我们控制无头Chrome。 无头Chrome 是运行Chrome浏览器而不实际运行

    2024年01月18日
    浏览(60)
  • rabbitMQ入门指南:管理页面全面指南及实战操作

      在前一篇文章在centos stream 9环境中部署和使用rabbitMQ,我们已经详细介绍了如何在CentOS下安装和配置RabbitMQ,我们不仅启动了RabbitMQ服务,还通过插件安装了管理后台,并且登陆到管理页面。   RabbitMQ管理后台提供了一个直观的用户界面,允许我们查看和管理RabbitMQ服务器

    2024年02月12日
    浏览(49)
  • Rocky Linux操作指南

    rocky Linux 相信还有一些同学会比较陌生。好像平常只听说过Ubuntu和centos。rocky Linux 是个什么东西呢。它其实就是centos8的更稳定版本:centos8 测试版 -- rhel8 -- rocky8 它现在已经更新到了第九代的一个版本,我们暂时先不用那么高的。先用rocky8.6版本熟悉一下基础的操作。 CentOS

    2024年02月03日
    浏览(49)
  • Python 列表操作指南3

    示例,将新列表中的所有值设置为 \\\'hello\\\': 表达式还可以包含条件,不像筛选器那样,而是作为操纵结果的一种方式: 示例,返回 \\\"orange\\\" 而不是 \\\"banana\\\": 列表对象具有 sort() 方法,默认情况下将对列表进行字母数字排序,升序排列: 示例,对列表按字母顺序排序: 示例,对

    2024年02月08日
    浏览(40)
  • Python 列表操作指南1

    Python 列表 列表用于在单个变量中存储多个项目。列表是 Python 中的 4 种内置数据类型之一,用于存储数据集合,其他 3 种分别是元组(Tuple)、集合(Set)和字典(Dictionary),它们具有不同的特性和用途。 使用方括号创建列表: 列表项是有序的、可变的,并且允许重复值。

    2024年02月08日
    浏览(68)
  • 银河麒麟服务器操作系统【进入救援模式】操作指南

     银河麒麟服务器操作系统使用光驱或者U盘启动盘引导进入救援模式的操作方法类似,这里不再阐述。 以银河麒麟服务器操作系统V10使用光驱或者U盘启动盘进入救援模式为例,具体操作步骤如下: 1.插入光驱或者U盘启动盘后,重启系统,再根据屏幕下方的提示,按相应键进

    2024年01月21日
    浏览(146)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包