In an apparatus and method for creating a three-dimensional model of an
object, images of the object taken from different, unknown positions are
processed to identify the points in the images which correspond to the
same point on the actual object (that is "matching" points), the matching
points are used to determine the relative positions from which the images
were taken, and the matching points and calculated positions are used to
calculate points in a three-dimensional space representing points on the
object. A number of different techniques are used to identify the matching
points, and a number of solutions are calculated and tested for the
relative positions, the solution which is consistent with the largest
number of matching points being selected. In one matching technique, edges
in an image are identified by first identifying corner points in the image
and then identifying edges between the corner points on the basis of edge
orientation values of pixels, the edges are processed in strength order to
remove cross-overs, the images sub-divided into regions by connecting
points at the ends of the edges on the basis of the edge strengths, and
matching points within corresponding regions in two or more images are
identified.