9. A computer system for searching a repository of documents using an image as a search query, the system comprising: a display device and a user interface for entering an input; a memory for storing machine executable instructions; a storage device containing a repository of searchable document, at least a portion of said documents contain extractable images; and a processor in communication with said display and user interface, said memory and said storage device, said processor executing said machine readable instructions for performing: receiving a query image I* to be used to search a repository of documents; using a hash function to hash said query image to obtain a hash value h(I*); setting, by a user, an initial threshold level τ 0 for said search based upon a visual examination of said query image; performing a no-reference quality assessment Q on said query image I* to estimate a measure of quality Q(I*) for said query image; using said initial threshold level τ 0 to adjust said estimated measure of quality (upward/downward) to obtain an adjusted threshold level ε where [Q(I*)±τ 0 ]→ε, said adjusted threshold defining a possible match for said search; for each document in said repository: for each image in said document: extracting said current image I k from said current document; hashing said extracted image to obtain a hash value h(I k ) for said extracted image; computing a distance d between said hash value h(I*) and said hash value h(I k ) where d=∥h(I*)−h(I k )∥; comparing distance d to said adjusted threshold ε; and flagging said document as a possible match in response to said distance being less than said adjusted threshold; and providing any of said flagged documents to a user in response to said search.
9. A computer system for searching a repository of documents using an image as a search query, the system comprising: a display device and a user interface for entering an input; a memory for storing machine executable instructions; a storage device containing a repository of searchable document, at least a portion of said documents contain extractable images; and a processor in communication with said display and user interface, said memory and said storage device, said processor executing said machine readable instructions for performing: receiving a query image I* to be used to search a repository of documents; using a hash function to hash said query image to obtain a hash value h(I*); setting, by a user, an initial threshold level τ 0 for said search based upon a visual examination of said query image; performing a no-reference quality assessment Q on said query image I* to estimate a measure of quality Q(I*) for said query image; using said initial threshold level τ 0 to adjust said estimated measure of quality (upward/downward) to obtain an adjusted threshold level ε where [Q(I*)±τ 0 ]→ε, said adjusted threshold defining a possible match for said search; for each document in said repository: for each image in said document: extracting said current image I k from said current document; hashing said extracted image to obtain a hash value h(I k ) for said extracted image; computing a distance d between said hash value h(I*) and said hash value h(I k ) where d=∥h(I*)−h(I k )∥; comparing distance d to said adjusted threshold ε; and flagging said document as a possible match in response to said distance being less than said adjusted threshold; and providing any of said flagged documents to a user in response to said search. 12. The computer system of claim 9 , further comprising: performing a text-based query on said repository of documents; and extracting images only from documents matching said text-based query.