在Python中,如果想要通過代碼來找圖,那么我們可以使用許多不同的庫。但是,其中最受歡迎和廣泛應用的庫之一,當然就是Python的OpenCV庫了。
import cv2 import numpy as np def find_image(template_path, target_path): template = cv2.imread(template_path, 0) target = cv2.imread(target_path, 0) w, h = template.shape[::-1] result = cv2.matchTemplate(target, template, cv2.TM_CCOEFF_NORMED) threshold = 0.8 loc = np.where(result >= threshold) for pt in zip(*loc[::-1]): cv2.rectangle(target, pt, (pt[0]+w, pt[1]+h), (0,255,255), 2) cv2.imshow('Detected', target) cv2.waitKey(0) cv2.destroyAllWindows() find_image('template.png', 'target.png')
上述代碼使用了OpenCV的模板匹配算法。我們首先讀取了模板圖像和目標圖像。然后,我們使用'matchTemplate()'函數計算模板圖像的匹配值和位置。在這里,我們使用'cv2.TM_CCOEFF_NORMED'參數,它是算法的一種類型。我們還選擇了一個合適的閾值0.8,以將所有匹配的位置和起來。在最后一步中,我們繪制了一個矩形框來標記所找到的圖像的位置,并在屏幕上顯示了結果。