Differences Between Geometric Matching and Pattern Matching

Updated Oct 17, 2022

Reported In


  • Vision Assistant
  • Vision Development Module
  • Vision Builder for Automated Inspection

Issue Details

  • I'm trying to decide whether to use geometric matching or pattern matching for my machine vision application.
  • I need to compare two images to find differences between them. Should I use geometric matching or pattern matching?


Pattern matching will find matches to a template based on gray values and edge gradient information. This means it examines pixels to see how dark or light they are (gray values) and compares sections of pixels to each other to determine if there is a large difference in gray value, indicating an edge.

Geometric matching will find matches to a template based on geometric features. These include low-level features like edges and curves, but also high-level features like the shapes (circles, rectangles, corners, etc) made by the edges and curves.

Because geometric matching needs to recognize edges as well as the shapes they make, a geometric matching algorithm can take longer than a pattern matching algorithm. However, pattern matching needs strong edges in order to find a match, so it will have trouble finding a match in some cases, shown in the table below. Geometric matching is still capable of finding these matches, so you should choose geometric matching if you encounter one of the situations below.
The object to detect is a different size than the template
The object to detect is blocked by something else
There is non-uniform lighting or a change in contrast that softens edges

Additional Information

In order to find out how different a match is from the template, you can use the score output of either function. This is a value from 0 to 1000 that determines how close of a match it was to the template.