1. A computer system for analyzing an image, the system comprising: a database configured to store of image templates for a plurality of elements of interest, each of the image templates comprising a candidate fingerprint, each candidate fingerprint comprising a plurality of candidate fingerprint signals; a processor in communication with the database; and a computer readable medium having embodied thereon a software program executable by the processor, the software program comprising: a) an image preprocessing and segmentation component configured to receive a suspect image and identify, within the suspect image, a suspect blob having an associated set of suspect blob boundaries; b) a fingerprint generation component configured to create a suspect fingerprint, based at least in part on the suspected blob boundaries, the suspect blob fingerprint comprising a set of suspect blob fingerprint signals; and c) a fingerprint matching component configured to calculate a similarity score for an element of interest, the similarity score being based on a plurality of similarity measures between the suspect fingerprint and a candidate fingerprint for the element of interest, each of the similarity measures being calculated based on a suspect fingerprint signal and a respective candidate fingerprint signal, and to determine, based at least in part on the similarity score, determine whether the suspect image is a likely match for the element of interest.