扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

pyautogui鐏板害鍖归厤绠楁硶鎬庝箞瀹炵幇

扬州沐宇科技
2024-01-09 14:20:47
pyautogui

瑕佸疄鐜皃yautogui鐏板害鍖归厤绠楁硶锛屽彲浠ユ寜鐓т互涓嬫楠よ繘琛岋細

  1. 棣栧厛锛屽皢寰呭尮閰嶇殑鍥惧儚鍜屽弬鑰冨浘鍍忛兘杞崲涓虹伆搴﹀浘鍍忋€傚彲浠ヤ娇鐢∣penCV搴撲腑鐨刢v2.cvtColor()鍑芥暟灏嗗浘鍍忚浆鎹负鐏板害鍥惧儚銆?/p>

  2. 鎺ヤ笅鏉ワ紝浣跨敤pyautogui搴撲腑鐨剆creenshot()鍑芥暟鏉ヨ幏鍙栧睆骞曟埅鍥俱€傚皢鎴浘涔熻浆鎹负鐏板害鍥惧儚銆?/p>

  3. 鍦ㄧ伆搴﹀浘鍍忎笂浣跨敤妯℃澘鍖归厤绠楁硶銆傚彲浠ヤ娇鐢∣penCV搴撲腑鐨刢v2.matchTemplate()鍑芥暟鏉ヨ繘琛屾ā鏉垮尮閰嶃€傝鍑芥暟浼氬湪灞忓箷鎴浘涓婃粦鍔ㄤ竴涓ぇ灏忎笌鍙傝€冨浘鍍忕浉鍚岀殑妯℃澘鍥惧儚锛岀劧鍚庤绠楁瘡涓綅缃殑鍖归厤绋嬪害銆?/p>

  4. 鏍规嵁鍖归厤绋嬪害鎵惧埌鏈€浣冲尮閰嶄綅缃€傚彲浠ヤ娇鐢∣penCV搴撲腑鐨刢v2.minMaxLoc()鍑芥暟鏉ヨ幏鍙栧尮閰嶇▼搴︾殑鏈€灏忓拰鏈€澶у€硷紝骞舵壘鍒版渶澶у€煎搴旂殑浣嶇疆銆?/p>

  5. 鏈€鍚庯紝鍙互浣跨敤pyautogui搴撲腑鐨刲ocateOnScreen()鍑芥暟鏉ュ畾浣嶅睆骞曚笂鐨勫浘鍍忋€傝鍑芥暟浼氬湪灞忓箷鎴浘涓悳绱笌鍙傝€冨浘鍍忕浉浼肩殑鍖哄煙锛屽苟杩斿洖鍏朵綅缃€?/p>

涓嬮潰鏄竴涓畝鍗曠殑绀轰緥浠g爜锛?/p>

import cv2
import pyautogui

# 灏嗗浘鍍忚浆鎹负鐏板害鍥惧儚
def convert_to_gray(image):
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    return gray

# 鑾峰彇灞忓箷鎴浘骞惰浆鎹负鐏板害鍥惧儚
screenshot = pyautogui.screenshot()
screenshot_gray = convert_to_gray(screenshot)

# 鍔犺浇鍙傝€冨浘鍍忓苟杞崲涓虹伆搴﹀浘鍍?/span>
reference_image = cv2.imread('reference_image.jpg')
reference_image_gray = convert_to_gray(reference_image)

# 杩涜妯℃澘鍖归厤
result = cv2.matchTemplate(screenshot_gray, reference_image_gray, cv2.TM_CCOEFF_NORMED)

# 鑾峰彇鍖归厤绋嬪害鐨勬渶澶у€煎拰浣嶇疆
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
top_left = max_loc
bottom_right = (top_left[0] + reference_image_gray.shape[1], top_left[1] + reference_image_gray.shape[0])

# 鍦ㄥ睆骞曟埅鍥句笂缁樺埗鐭╁舰妗嗘潵鏍囪瘑鍖归厤浣嶇疆
cv2.rectangle(screenshot, top_left, bottom_right, (0, 255, 0), 2)

# 鏄剧ず缁撴灉
cv2.imshow('Result', screenshot)
cv2.waitKey(0)
cv2.destroyAllWindows()

鍦ㄤ笂杩颁唬鐮佷腑锛屾垜浠鍏堝皢灞忓箷鎴浘鍜屽弬鑰冨浘鍍忛兘杞崲涓虹伆搴﹀浘鍍忥紝鐒跺悗浣跨敤cv2.matchTemplate()鍑芥暟杩涜妯℃澘鍖归厤锛屾壘鍒版渶浣冲尮閰嶄綅缃紝骞跺湪灞忓箷鎴浘涓婄粯鍒剁煩褰㈡鏉ユ爣璇嗗尮閰嶄綅缃€傛渶鍚庯紝浣跨敤cv2.imshow()鍑芥暟鏄剧ず缁撴灉銆?/p>

扫码添加客服微信