I have a large quantity of photos that I own spread across many sub directories on Windows 8. I wish to find all duplicate images, where the image may be resized, cropped, rotated or a border added around.

A normal MD5 hash check is not suitable because I need it to detect changes.

I would imagine it would create a database of existing images pulling out salient points from the SIFT algo, then compare the input image with this database.

Other than something I'd have to custom write, is there software that would allow me to compare an image to a directory full of images using the SIFT / SURF algo as described above?


1 Answer 1


You can find an application using SURF and more recent CBIR algorithms here written in C#. Most of it is available on a GPL v3 license but there are some restrictions with regard to the usage of SURF (non exhaustively, just to mention the point that some descriptors may be protected when it comes to any commercial usage). The detailed explanations of how the application has been developed are available here.If you are familiar with CBIR, no need to read the first blog posts of the gentleman (part 1,2 and 3). Otherwise, all posts are higly recommended. From my experience, there are several "advanced" descriptors and detectors (and not only SIFT and SURF), you should try several ones and define which one makes more sense for your images set.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.