One particularly interesting planned Elog.io feature is matching images found online with the catalog, which in turn makes it possible to retrieve metadata by comparing image contents to the records in our database.
This, for instance, allows looking up metadata instantly from the browser when we see an image on the web. After some explorations on image matching described in Jonas’s earlier post, we came up with an image hashing algorithm that produces satisfactory image “fingerprints” usable for approximate matching of 2 images together and fuzzy searching.
The hashing algorithm is based on Block Mean Value algorithm. Essentially, it divides and image into NxN blocks and calculates a sum of RGBA values for every block which is then compared to block median value and depending on whether the value is greater or less than the median, 0 or 1 bit is added to the hash.
Additional methods involve block overlapping and weighted distribution of pixel values across blocks for increasing accuracy during the search stage.
 Yang, Bian, Fan Gu, and Xiamu Niu. “Block mean value based image perceptual hashing.” Intelligent Information Hiding and Multimedia Signal Processing, 2006. IIH-MSP’06. International Conference on. IEEE, 2006.