Machine learningComputer VisionObject detectionAlgorithm

Template Matching

Also known as: Correlation-based matching, Similarity matching

OriginatorComputer vision communityYear1980sSources2Related methods12

Template matching is a straightforward technique for locating a known pattern (template) within a larger image. By sliding a template image across the target image and computing a similarity measure at each position, template matching identifies locations where the template appears. It is effective for simple object detection when templates are well-defined and appearance variation is limited.

Key highlights

  • Conceptually simple and easy to implement
  • Fast computation, especially for small templates and images
  • No training required; detects a template directly without learning
  • Works well when template is representative and target region is similar
  • Can detect multiple instances of the same template in an image

Intuition

This section is available to Pro members. Upgrade to Pro

How it works

This section is available to Pro members. Upgrade to Pro

When to use it

Use template matching when objects are relatively rigid (appearance does not change much), the template is well-defined, and appearance variation is limited. Template matching is suitable for finding a specific object instance in controlled environments (e.g., locating a component on an assembly line, finding a logo in a document). Avoid template matching for objects with large appearance variation due to rotation, scale, or lighting changes; feature-based methods (SIFT, ORB) or deep learning approaches are more robust.

Strengths & limitations

Strengths
  • Conceptually simple and easy to implement
  • Fast computation, especially for small templates and images
  • No training required; detects a template directly without learning
  • Works well when template is representative and target region is similar
  • Can detect multiple instances of the same template in an image
Limitations
  • Not invariant to scale, rotation, or perspective change; template must match target appearance closely
  • Sensitive to lighting and contrast variations; illumination changes reduce match quality
  • Requires high-quality, representative templates; poor template choice leads to many false positives
  • Computationally expensive for large images or templates; naive sliding-window approach has O(n*m) complexity

Common pitfalls

This section is available to Pro members. Upgrade to Pro

Applications

This section is available to Pro members. Upgrade to Pro

Frequently asked

What is normalized cross-correlation and why is it better than simple correlation?

Normalized cross-correlation accounts for local intensity variations by dividing by the standard deviation of both template and image region. This makes matches robust to global intensity changes (e.g., brightness increase). Simple correlation gives higher values for bright regions regardless of pattern similarity, whereas normalized cross-correlation isolates the pattern structure.

How does template matching handle multiple instances?

Template matching produces a similarity map with multiple peaks, each representing a potential match. By thresholding the similarity map and finding local maxima, multiple instances can be detected. Non-maximum suppression can be applied to eliminate overlapping detections from nearby peaks.

Can template matching detect rotated or scaled versions of the template?

Standard template matching cannot detect rotations or scale changes. However, multi-scale or multi-orientation variants exist: compute similarity at multiple template scales and rotations, then find the best match across all variants. This approach is slower but handles some variation. For large transformations, feature-based or deep learning methods are more efficient.

Why is template matching sensitive to lighting changes?

Template matching relies on intensity patterns. If the template is created under different lighting than the target image, intensity values differ even if the object is in the same position. Normalized cross-correlation partially mitigates this by normalizing local statistics, but it cannot handle extreme lighting variation. Preprocessing (histogram equalization) or learning-based methods are more robust.

Sources

  1. 1.
    Lewis, J. P. (2004). Fast normalized cross-correlation. Vision Interface, 120–123.
  2. 2.
    Briechle, K., & Hanebeck, U. D. (2001). Template matching using fast normalized cross correlation. SPIE Proceedings, 4387, 95–102.

You have read it. What now?

Cite this page

ScholarGate. (2026, June 3). Template Matching. ScholarGate. https://scholargate.app/computer-vision/template-matching

Template Matching — Template Matching for Object Detection