Hashing real pictures (not QR codes) is a very tricky and interesting problem; similar to the one Google uses for ‘similar images’ search. This algorithm its called “Locality-sensitive hashing”.
https://stackoverflow.com/questions/998662/what-is-image-hashing-used-for
Perceptual hashing is the use of an algorithm that produces a snippet or fingerprint of various forms of multimedia.[1][2] Perceptual hash functions are analogous if features are similar, whereas cryptographic hashing relies on the avalanche effect of a small change in input value creating a drastic change in output value.
https://en.wikipedia.org/wiki/Locality-sensitive_hashing
Comments by Luis G de la Fuente