agentsclimarketplace

Object counting

Skill cxcscmu/SkillLearnBench/skills/b4-skill-creator-gemini-3-flash-preview/video-object-counting/object-counting

Use this skill to count occurrences of a template image within a larger target image using template matching techniques.From its SKILL.md

Install
npx -y skills add cxcscmu/SkillLearnBench --skill object-counting

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.4 KB, 282 tokens by cl100k_base, as published. Nobody here has run it

Object Counting Skill

This skill provides instructions for counting objects in an image based on a template.

Using OpenCV Template Matching

import cv2
import numpy as np

def count_objects(image_path, template_path, threshold=0.8):
    img_gray = cv2.imread(image_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)
    
    # Simple counting (might need non-maximum suppression for better results)
    points = list(zip(*loc[::-1]))
    # Filter points to avoid double counting close matches
    filtered_points = []
    for p in points:
        if not any(np.linalg.norm(np.array(p) - np.array(fp)) < min(w, h)/2 for fp in filtered_points):
            filtered_points.append(p)
            
    return len(filtered_points)

Considerations

  • Threshold: Adjust the threshold based on the similarity required.
  • Scale/Rotation: Template matching is sensitive to scale and rotation.
  • Non-Maximum Suppression: Crucial for avoiding multiple detections of the same object.

Output

The result should be an integer count of the detected objects.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.