A compact way to implement reverse image-search using "fingerprinting" inspired by Shazam's audio fingerprinting algorithm. Fingerprints are taken from 50x50 regions of an image (adjustable) and are made insensitive to rotations, noise, distortion etc. by the averaging of pixel values. Additionally, a whole-image fingerprint is taken with pHash to enable the detection of resizes.
git clone https://github.com/leoorshansky/image-fingerprinting
Follow the directions to install boost for your operating system.
Also, install the included pHash source (on linux, do the following):
cd pHash && ./configure && make && make install
With make, simply type make
and the executable will be built. With anything else, do what you normally do to build a C++ project.
Type ./fingerprint --help
to see the command syntax. Enjoy!