基于PyScreeze實(shí)現(xiàn)截屏和定位功能
PyScreeze 是一個簡單的跨平臺截圖模塊,支持 Python3。
安裝PyScreeze
pip install PyScreeze
截取全屏
import pyscreeze
# 截取全屏
im2 = pyscreeze.screenshot()
# 將截圖轉(zhuǎn)換為灰度圖
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)
# 獲取圖片中心點(diǎn)坐標(biāo)
button7x, button7y = pyscreeze.center(button7location)
print(button7x, button7y)
# 點(diǎn)擊鼠標(biāo)到圖片中心點(diǎn)
pyautogui.click(button7x, button7y)
返回(左、上、寬、高)坐標(biāo),表示屏幕上找到的第一個圖像實(shí)例。如果在屏幕上找不到,則返回None。

屏幕圖片居中定位
import pyscreeze, pyautogui
x, y = pyscreeze.locateCenterOnScreen('calc7key.png')
pyautogui.click(x, y)
返回 (x, y)坐標(biāo),表示屏幕上第一個找到的圖像實(shí)例的中心。如果在屏幕上找不到,則返回None。
多個屏幕圖片定位
import pyscreeze
for pos in pyscreeze.locateAllOnScreen('calc7key.png', grayscale=False, confidence=0.8):
print(pos)
locateAll 會使用cv2,定位更快速。
這里用到了灰度匹配和匹配的置信。
匹配的置信度,取值范圍是 0 到 1。 0.8 表示匹配度達(dá)到 80% 及以上就認(rèn)為找到了匹配項。
圖片模板匹配
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
到此這篇關(guān)于基于PyScreeze實(shí)現(xiàn)截屏和定位功能的文章就介紹到這了,更多相關(guān)PyScreeze截屏和定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決Python中ModuleNotFoundError錯誤
使用模塊時,了解它們的工作方式以及如何將它們導(dǎo)入我們的代碼非常重要,?如果沒有這種理解或錯誤,我們可能會遇到不同的錯誤,本文我們就來討論一下在Python中解決?ModuleNotFoundError?的方法,希望對大家有所幫助2023-12-12
python實(shí)現(xiàn)批量下載新浪博客的方法
這篇文章主要介紹了python實(shí)現(xiàn)批量下載新浪博客的方法,涉及Python頁面抓取的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06
python numpy.power()數(shù)組元素求n次方案例
這篇文章主要介紹了python numpy.power()數(shù)組元素求n次方案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Django-celery-beat動態(tài)添加周期性任務(wù)實(shí)現(xiàn)過程解析
這篇文章主要介紹了Django-celery-beat動態(tài)添加周期性任務(wù)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
使用PyTorch/TensorFlow搭建簡單全連接神經(jīng)網(wǎng)絡(luò)
在本篇博客中,我們將介紹如何使用兩大深度學(xué)習(xí)框架——PyTorch 和 TensorFlow,構(gòu)建一個簡單的全連接神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)包含輸入層、一個隱藏層和輸出層,適合初學(xué)者理解神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊及訓(xùn)練流程,需要的朋友可以參考下2025-02-02
Python中Selenium模擬JQuery滑動解鎖實(shí)例
這篇文章主要介紹了Python中Selenium模擬JQuery滑動解鎖實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07

