I am looking for an image hashing algorithm (for the moment, I am thinking of a perceptual hashing) which is able to preserve the details a little more than the usual hash algorithms. The images that I must distinguish are quite similar at first and the details have to be taken into account. I do not really want to reduce them. I need to know if a given image matches an image already in a database, but I want it to at least resist trimming and rotation (cropped / rotated images should give the same or near result An extra bonus would be if it's also resistant to changing a few pixels (with a threshold, of course.). My fear with the usual perception hashes is that they reduce the image so much, and the images I have all seems too similar. Thank you!