Opencv template matching
Count occurrences of a template in a target image.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill opencv-template-matchingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
0.9 KB, 229 tokens by cl100k_base, as published. Nobody here has run it
OpenCV Template Matching
Use cv2.matchTemplate to find objects matching a template image in the main image. Multiple detections of the same object can be filtered via Non-Maximum Suppression (NMS).
import cv2
import numpy as np
def count_objects(main_img_path, template_path, threshold=0.8):
img_gray = cv2.imread(main_img_path, 0)
template = cv2.imread(template_path, 0)
w, h = template.shape[::-1]
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
loc = np.where(res >= threshold)
rects = []
for pt in zip(*loc[::-1]):
rects.append([int(pt[0]), int(pt[1]), int(w), int(h)])
# Apply non-maximum suppression (requires imutils.object_detection or cv2.dnn.NMSBoxes)
rects, weights = cv2.groupRectangles(rects, 1, 0.2)
return len(rects)
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.