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