Geometric hashing

In computer science, geometric hashing is a method for efficiently finding two-dimensional objects represented by discrete points that have undergone an affine transformation, though extensions exist to other object representations and transformations.

In an off-line step, the objects are encoded by treating each pair of points as a geometric basis.

In the on-line (recognition) step, randomly selected pairs of data points are considered as candidate bases.

Geometric hashing was originally suggested in computer vision for object recognition in 2D and 3D,[1] but later was applied to different problems such as structural alignment of proteins.

So in real life one won’t encode basis keys (1.0, 0.0) and (-1.0, 0.0) in a hash table.

Points of the object in the image coordinate system, and axes for the coordinate system for the basis (P2,P4)