基于PyScreeze實現(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)
# 獲取圖片中心點坐標(biāo)
button7x, button7y = pyscreeze.center(button7location)
print(button7x, button7y)
# 點擊鼠標(biāo)到圖片中心點
pyautogui.click(button7x, button7y)
返回(左、上、寬、高)坐標(biāo),表示屏幕上找到的第一個圖像實例。如果在屏幕上找不到,則返回None。

屏幕圖片居中定位
import pyscreeze, pyautogui
x, y = pyscreeze.locateCenterOnScreen('calc7key.png')
pyautogui.click(x, y)
返回 (x, y)坐標(biāo),表示屏幕上第一個找到的圖像實例的中心。如果在屏幕上找不到,則返回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實現(xiàn)截屏和定位功能的文章就介紹到這了,更多相關(guān)PyScreeze截屏和定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python連接mssql數(shù)據(jù)庫編碼問題解決方法
這篇文章主要介紹了Python連接mssql數(shù)據(jù)庫編碼問題解決方法,本文方法同樣適用mysql、sqllite、mongodb等數(shù)據(jù)庫,需要的朋友可以參考下2015-01-01
python使用in操作符時元組和數(shù)組的區(qū)別分析
有時候要判斷一個數(shù)是否在一個序列里面,這時就會用到in運算符來判斷成員資格,如果條件為真時,就會返回true,條件為假時,返回一個flase。這樣的運算符叫做布爾運算符,其真值叫做布爾值。2015-05-05
Python實現(xiàn)導(dǎo)出數(shù)據(jù)生成excel報表的方法示例
這篇文章主要介紹了Python實現(xiàn)導(dǎo)出數(shù)據(jù)生成excel報表的方法,結(jié)合完整實例形式分析了Python連接、查詢mysql數(shù)據(jù)庫并導(dǎo)出Excel報表的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-07-07
Python數(shù)據(jù)清洗的四大核心操作(去重/標(biāo)準(zhǔn)化/歸一化/編碼)實戰(zhàn)指南
數(shù)據(jù)清洗就像蓋房子前的地基整理,若原始數(shù)據(jù)充滿重復(fù),格式混亂,后續(xù)建模分析只會是空中樓閣,本文將從工程師視角,拆解四大核心操作的底層邏輯,結(jié)合真實業(yè)務(wù)案例,帶你吃透數(shù)據(jù)清洗的底層邏輯2025-12-12

