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|