1. A method for image processing comprising: (a) determining edge pixels of a model image using an edge based technique; (b) determining an angular orientation for each said edge pixels of said model image; (c) determining edge pixels of an input image using an edge based technique; (d) determining an angular orientation for each of said edge pixels of said input image; (e) indexing each of said angular orientations for each of said edge pixels of said input image into a feature index identifying its respective location; (f) matching said angular orientation for each of said edge pixels of said model image to said feature index to determine candidate locations of an object within said input image; (g) based upon said candidate locations selecting at least one object location within said input image.