有兩個 PNG 檔案。
一個(A 檔案)是一個帶有紅色圓圈的 10x10 大小的檔案。
另一個檔案(B 檔案)有許多白色圓圈和一個紅色圓圈。
這時候就想辦法找到B檔案中紅圈的x和y位置。
——
我需要這些的原因是在某些程式中我想找到與我擁有的特定影像匹配的 x,y 位置。
這可以使用 pyautogui.locateAllOnScreen 來完成,但我想將它應用于非活動視窗。(pyautogui 僅用于活動視窗)
所以我一直在尋找一種方法來截取非活動視窗的螢屏截圖并將其與我擁有的影像進行比較。
請讓我知道是否有更好的方法
謝謝
(這是用谷歌翻譯寫的。可能有錯誤。)
補充說我用下面的代碼得到了我想要的。

import cv2
import os
FILE = os.path.expanduser(r"~\Downloads\demo.png")
RED = (0, 0, 255) # BGR
if __name__ == "__main__":
img = cv2.imread(FILE, -1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
centroids = cv2.connectedComponentsWithStats(gray, 8, cv2.CV_32S)[3]
for center in centroids:
x, y = int(center[0]), int(center[1])
if (tuple(img[y, x, :]) == RED):
print(x, y)
以下輸出:
596 411
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/372828.html
上一篇:JavaGUI在標簽上繪制圖片
